f36af574 |
%ifarch x86_64
%define archname amd64
%endif
%ifarch aarch64
%define archname arm64
%endif
|
14a58dbb |
Summary: Kubernetes cluster management
Name: kubernetes |
77e08477 |
Version: 1.10.7 |
1a5a7f19 |
Release: 2%{?dist} |
14a58dbb |
License: ASL 2.0 |
e512a0c6 |
URL: https://github.com/kubernetes/kubernetes/archive/v%{version}.tar.gz |
3ec8aa37 |
Source0: kubernetes-%{version}.tar.gz |
77e08477 |
%define sha1 kubernetes-%{version}.tar.gz=39c24846730ae3902a9ce5b49ec9fce7336441d4 |
14a58dbb |
Source1: https://github.com/kubernetes/contrib/archive/contrib-0.7.0.tar.gz |
e512a0c6 |
%define sha1 contrib-0.7.0=47a744da3b396f07114e518226b6313ef4b2203c |
77e08477 |
Patch0: k8s-1.10-vke.patch |
14a58dbb |
Group: Development/Tools
Vendor: VMware, Inc.
Distribution: Photon |
77e08477 |
BuildRequires: go = 1.9.4 |
e512a0c6 |
BuildRequires: rsync
BuildRequires: which |
bd8dde78 |
Requires: cni
Requires: ebtables |
14a58dbb |
Requires: etcd >= 3.0.4 |
bd8dde78 |
Requires: ethtool
Requires: iptables
Requires: iproute2 |
7f9d2e12 |
Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd
Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
bd8dde78 |
Requires: socat |
7f9d2e12 |
Requires: (util-linux or toybox) |
d0fc675c |
|
f4d17450 |
%description
Kubernetes is an open source implementation of container cluster management. |
d0fc675c |
|
7a4979d5 |
%package kubeadm
Summary: kubeadm deployment tool
Group: Development/Tools
Requires: %{name} = %{version}
%description kubeadm
kubeadm is a tool that enables quick and easy deployment of a kubernetes cluster.
|
77e08477 |
%package kubectl-extras
Summary: kubectl binaries for extra platforms
Group: Development/Tools
%description kubectl-extras
Contains kubectl binaries for additional platforms.
|
1746bf69 |
%package pause
Summary: pause binary
Group: Development/Tools
%description pause
A pod setup process that holds a pod's namespace.
|
f4d17450 |
%prep -p exit |
e512a0c6 |
%setup -qn %{name}-%{version}
cd .. |
70c915af |
tar xf %{SOURCE1} --no-same-owner |
5484648d |
sed -i -e 's|127.0.0.1:4001|127.0.0.1:2379|g' contrib-0.7.0/init/systemd/environ/apiserver |
e512a0c6 |
cd %{name}-%{version} |
77e08477 |
%patch0 -p1 |
d0fc675c |
|
f4d17450 |
%build |
e512a0c6 |
make |
1746bf69 |
pushd build/pause
mkdir -p bin |
f36af574 |
gcc -Os -Wall -Werror -static -o bin/pause-%{archname} pause.c
strip bin/pause-%{archname} |
1746bf69 |
popd |
1a5a7f19 |
%ifarch x86_64 |
77e08477 |
make WHAT="cmd/kubectl" KUBE_BUILD_PLATFORMS="darwin/%{archname} windows/%{archname}" |
1a5a7f19 |
%endif |
d0fc675c |
|
f4d17450 |
%install
install -vdm644 %{buildroot}/etc/profile.d
install -m 755 -d %{buildroot}%{_bindir} |
77e08477 |
install -m 755 -d %{buildroot}/opt/vmware/kubernetes
install -m 755 -d %{buildroot}/opt/vmware/kubernetes/linux/%{archname} |
1a5a7f19 |
%ifarch x86_64
install -m 755 -d %{buildroot}/opt/vmware/kubernetes/darwin/%{archname} |
77e08477 |
install -m 755 -d %{buildroot}/opt/vmware/kubernetes/windows/%{archname} |
1a5a7f19 |
%endif |
f4d17450 |
|
3ec8aa37 |
binaries=(cloud-controller-manager hyperkube kube-aggregator kube-apiserver kube-controller-manager kubelet kube-proxy kube-scheduler kubectl) |
f4d17450 |
for bin in "${binaries[@]}"; do
echo "+++ INSTALLING ${bin}" |
f36af574 |
install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/${bin} |
f4d17450 |
done |
f36af574 |
install -p -m 755 -t %{buildroot}%{_bindir} build/pause/bin/pause-%{archname} |
f4d17450 |
|
77e08477 |
# kubectl-extras
install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/linux/%{archname}/ _output/local/bin/linux/%{archname}/kubectl |
1a5a7f19 |
%ifarch x86_64
install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/darwin/%{archname}/ _output/local/bin/darwin/%{archname}/kubectl |
77e08477 |
install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/windows/%{archname}/ _output/local/bin/windows/%{archname}/kubectl.exe |
1a5a7f19 |
%endif |
77e08477 |
|
7a4979d5 |
# kubeadm install
install -vdm644 %{buildroot}/etc/systemd/system/kubelet.service.d |
f36af574 |
install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/kubeadm |
7a4979d5 |
install -p -m 755 -t %{buildroot}/etc/systemd/system build/rpms/kubelet.service
install -p -m 755 -t %{buildroot}/etc/systemd/system/kubelet.service.d build/rpms/10-kubeadm.conf
sed -i '/KUBELET_CGROUP_ARGS=--cgroup-driver=systemd/d' %{buildroot}/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
|
e512a0c6 |
cd .. |
f4d17450 |
# install config files
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} |
14a58dbb |
install -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib-0.7.0/init/systemd/environ/* |
4124bcd6 |
cat << EOF >> %{buildroot}%{_sysconfdir}/%{name}/kubeconfig
apiVersion: v1
clusters:
- cluster:
server: http://127.0.0.1:8080
EOF |
7598ae93 |
sed -i '/KUBELET_API_SERVER/c\KUBELET_API_SERVER="--kubeconfig=/etc/kubernetes/kubeconfig"' %{buildroot}%{_sysconfdir}/%{name}/kubelet |
f4d17450 |
# install service files
install -d -m 0755 %{buildroot}/usr/lib/systemd/system |
14a58dbb |
install -m 0644 -t %{buildroot}/usr/lib/systemd/system contrib-0.7.0/init/systemd/*.service |
f4d17450 |
# install the place the kubelet defaults to put volumes |
e512a0c6 |
install -dm755 %{buildroot}/var/lib/kubelet
install -dm755 %{buildroot}/var/run/kubernetes |
f4d17450 |
|
31f72888 |
mkdir -p %{buildroot}/%{_lib}/tmpfiles.d
cat << EOF >> %{buildroot}/%{_lib}/tmpfiles.d/kubernetes.conf
d /var/run/kubernetes 0755 kube kube -
EOF
|
f4d17450 |
%check |
d009d976 |
export GOPATH=%{_builddir}
go get golang.org/x/tools/cmd/cover
make %{?_smp_mflags} check |
d0fc675c |
|
f4d17450 |
%clean
rm -rf %{buildroot}/* |
d0fc675c |
|
f4d17450 |
%pre |
4aa873d5 |
if [ $1 -eq 1 ]; then |
d45b7400 |
# Initial installation.
getent group kube >/dev/null || groupadd -r kube
getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \
-c "Kubernetes user" kube
fi
|
e512a0c6 |
%post
chown -R kube:kube /var/lib/kubelet
chown -R kube:kube /var/run/kubernetes |
7a4979d5 |
systemctl daemon-reload
%post kubeadm
systemctl daemon-reload
systemctl stop kubelet
systemctl enable kubelet
%preun kubeadm
if [ $1 -eq 0 ]; then
systemctl stop kubelet
fi |
e512a0c6 |
|
d45b7400 |
%postun |
4aa873d5 |
if [ $1 -eq 0 ]; then |
d45b7400 |
# Package deletion
userdel kube |
cfb1fd76 |
groupdel kube |
7a4979d5 |
systemctl daemon-reload
fi
%postun kubeadm
if [ $1 -eq 0 ]; then
systemctl daemon-reload |
d45b7400 |
fi |
d0fc675c |
|
f4d17450 |
%files
%defattr(-,root,root) |
7a4979d5 |
%{_bindir}/cloud-controller-manager
%{_bindir}/hyperkube
%{_bindir}/kube-aggregator
%{_bindir}/kube-apiserver
%{_bindir}/kube-controller-manager
%{_bindir}/kubelet
%{_bindir}/kube-proxy
%{_bindir}/kube-scheduler
%{_bindir}/kubectl |
3ec8aa37 |
#%{_bindir}/kubefed |
31f72888 |
%{_lib}/systemd/system/kube-apiserver.service
%{_lib}/systemd/system/kubelet.service
%{_lib}/systemd/system/kube-scheduler.service
%{_lib}/systemd/system/kube-controller-manager.service
%{_lib}/systemd/system/kube-proxy.service
%{_lib}/tmpfiles.d/kubernetes.conf |
f4d17450 |
%dir %{_sysconfdir}/%{name}
%dir /var/lib/kubelet |
e512a0c6 |
%dir /var/run/kubernetes |
f4d17450 |
%config(noreplace) %{_sysconfdir}/%{name}/config
%config(noreplace) %{_sysconfdir}/%{name}/apiserver
%config(noreplace) %{_sysconfdir}/%{name}/controller-manager
%config(noreplace) %{_sysconfdir}/%{name}/proxy
%config(noreplace) %{_sysconfdir}/%{name}/kubelet |
4124bcd6 |
%config(noreplace) %{_sysconfdir}/%{name}/kubeconfig |
f4d17450 |
%config(noreplace) %{_sysconfdir}/%{name}/scheduler |
d0fc675c |
|
7a4979d5 |
%files kubeadm
%defattr(-,root,root)
%{_bindir}/kubeadm
/etc/systemd/system/kubelet.service
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
|
1746bf69 |
%files pause
%defattr(-,root,root) |
f36af574 |
%{_bindir}/pause-%{archname} |
1746bf69 |
|
77e08477 |
%files kubectl-extras
%defattr(-,root,root)
/opt/vmware/kubernetes/linux/%{archname}/kubectl |
1a5a7f19 |
%ifarch x86_64
/opt/vmware/kubernetes/darwin/%{archname}/kubectl |
77e08477 |
/opt/vmware/kubernetes/windows/%{archname}/kubectl.exe |
1a5a7f19 |
%endif |
77e08477 |
|
f4d17450 |
%changelog |
1a5a7f19 |
* Wed Oct 10 2018 Ajay Kaher <akaher@vmware.com> 1.10.7-2
- For aarch64 excluded drawin/arm64 and windows/arm64 |
77e08477 |
* Wed Aug 29 2018 Dheeraj Shetty <dheerajs@vmware.com> 1.10.7-1
- Update to k8s version 1.10.7 with VKE patch (fbdcc5c) and add
- kubectl-extras package |
3ec8aa37 |
* Thu May 03 2018 Xiaolin Li <xiaolinl@vmware.com> 1.10.2-1
- Add kubernetes 1.10.2. |
baa738d0 |
* Tue Jan 30 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-6
- Fix password issue in cascade cloud provider. |
d5275918 |
* Tue Jan 23 2018 Ashok Chandrasekar <ashokc@vmware.com> 1.8.1-5
- Add Cascade cloud provider. |
f36af574 |
* Wed Nov 15 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.1-4
- Aarch64 support
* Wed Nov 15 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-3 |
7598ae93 |
- Specify --kubeconfig to pass in config file. |
4124bcd6 |
* Tue Nov 07 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-2
- Specify API server via kubeconfig file. |
e3e4eb64 |
* Wed Nov 01 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.1-1
- k8s v1.8.1. |
7f9d2e12 |
* Mon Sep 18 2017 Alexey Makhalov <amakhalov@vmware.com> 1.7.5-2
- Requires util-linux or toybox
- Remove shadow from requires and use explicit tools for post actions |
464d6140 |
* Mon Sep 11 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.5-1
- k8s v1.7.5. |
1746bf69 |
* Thu Aug 03 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-3
- PhotonOS based k8s pause container. |
7a4979d5 |
* Sat Jul 22 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-2
- Split kubeadm into its own pkg. |
2849ae7a |
* Fri Jul 14 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.7.0-1
- Upgrade kubernetes to v1.7.0. |
bd8dde78 |
* Tue May 09 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-3
- Fix kubernetes dependencies. |
cfb1fd76 |
* Thu May 04 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-2
- Include cloud-controller-manager, kube-aggregator binaries. |
e512a0c6 |
* Tue Mar 28 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.6.0-1
- Build kubernetes 1.6.0 from source.
* Mon Feb 13 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.5.2-3 |
f45ca38c |
- Added kubeadm, kubefed, dns, discovery to package. |
31f72888 |
* Fri Jan 27 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-2
- Added /lib/tmpfiles.d/kubernetes.conf. |
c52aeb48 |
* Thu Jan 19 2017 Xiaolin Li <xiaolinl@vmware.com> 1.5.2-1
- Upgraded to version 1.5.2 |
5484648d |
* Fri Oct 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.4-1
- Upgraded to version 1.4.4 |
14a58dbb |
* Wed Sep 21 2016 Xiaolin Li <xiaolinl@vmware.com> 1.4.0-1
- Upgraded to version 1.4.0
* Fri Jun 24 2016 Xiaolin Li <xiaolinl@vmware.com> 1.2.4-1 |
07123e9c |
- Upgraded to version 1.2.4 |
14a58dbb |
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-4
- GA - Bump release of all rpms
* Wed May 18 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.8-3
- Fix if syntax
* Thu May 05 2016 Kumar Kaushik <kaushikk@vmware.com> 1.1.8-2
- Adding support to pre/post/un scripts for package upgrade.
* Tue Feb 23 2016 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 1.1.8-1
- Upgraded to version 1.1.8
* Mon Aug 3 2015 Tom Scanlan <tscanlan@vmware.com> 1.0.2-1
- bump up to latest release
* Thu Jul 23 2015 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-1
- Upgrade to kubernetes v1.0.1
* Tue Mar 10 2015 Divya Thaluru <dthaluru@vmware.com> 0.12.1-1 |
70c915af |
- Initial build. First version |