Change-Id: I7984d65aaff693065308e7b0a6ce0c2c16e77a31
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6825
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
| 1 | 1 |
deleted file mode 100644 |
| ... | ... |
@@ -1,239 +0,0 @@ |
| 1 |
-%ifarch x86_64 |
|
| 2 |
-%define archname amd64 |
|
| 3 |
-%endif |
|
| 4 |
-%ifarch aarch64 |
|
| 5 |
-%define archname arm64 |
|
| 6 |
-%endif |
|
| 7 |
- |
|
| 8 |
-Summary: Kubernetes cluster management |
|
| 9 |
-Name: kubernetes |
|
| 10 |
-Version: 1.11.3 |
|
| 11 |
-Release: 3%{?dist}
|
|
| 12 |
-License: ASL 2.0 |
|
| 13 |
-URL: https://github.com/kubernetes/kubernetes/archive/v%{version}.tar.gz
|
|
| 14 |
-Source0: kubernetes-%{version}.tar.gz
|
|
| 15 |
-%define sha1 kubernetes-%{version}.tar.gz=60914656f6204ad95555b767181648eeef899dc0
|
|
| 16 |
-Source1: https://github.com/kubernetes/contrib/archive/contrib-0.7.0.tar.gz |
|
| 17 |
-%define sha1 contrib-0.7.0=47a744da3b396f07114e518226b6313ef4b2203c |
|
| 18 |
-Patch0: k8s-1.11-vke.patch |
|
| 19 |
-Patch1: go-27704.patch |
|
| 20 |
-Patch2: go-27842.patch |
|
| 21 |
-Group: Development/Tools |
|
| 22 |
-Vendor: VMware, Inc. |
|
| 23 |
-Distribution: Photon |
|
| 24 |
-BuildRequires: go >= 1.10 |
|
| 25 |
-BuildRequires: rsync |
|
| 26 |
-BuildRequires: which |
|
| 27 |
-Requires: cni |
|
| 28 |
-Requires: ebtables |
|
| 29 |
-Requires: etcd >= 3.0.4 |
|
| 30 |
-Requires: ethtool |
|
| 31 |
-Requires: iptables |
|
| 32 |
-Requires: iproute2 |
|
| 33 |
-Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd |
|
| 34 |
-Requires(postun):/usr/sbin/userdel /usr/sbin/groupdel |
|
| 35 |
-Requires: socat |
|
| 36 |
-Requires: (util-linux or toybox) |
|
| 37 |
-Requires: cri-tools |
|
| 38 |
- |
|
| 39 |
-%description |
|
| 40 |
-Kubernetes is an open source implementation of container cluster management. |
|
| 41 |
- |
|
| 42 |
-%package kubeadm |
|
| 43 |
-Summary: kubeadm deployment tool |
|
| 44 |
-Group: Development/Tools |
|
| 45 |
-Requires: %{name} = %{version}
|
|
| 46 |
-%description kubeadm |
|
| 47 |
-kubeadm is a tool that enables quick and easy deployment of a kubernetes cluster. |
|
| 48 |
- |
|
| 49 |
-%package kubectl-extras |
|
| 50 |
-Summary: kubectl binaries for extra platforms |
|
| 51 |
-Group: Development/Tools |
|
| 52 |
-%description kubectl-extras |
|
| 53 |
-Contains kubectl binaries for additional platforms. |
|
| 54 |
- |
|
| 55 |
-%package pause |
|
| 56 |
-Summary: pause binary |
|
| 57 |
-Group: Development/Tools |
|
| 58 |
-%description pause |
|
| 59 |
-A pod setup process that holds a pod's namespace. |
|
| 60 |
- |
|
| 61 |
-%prep -p exit |
|
| 62 |
-%setup -qn %{name}-%{version}
|
|
| 63 |
-cd .. |
|
| 64 |
-tar xf %{SOURCE1} --no-same-owner
|
|
| 65 |
-sed -i -e 's|127.0.0.1:4001|127.0.0.1:2379|g' contrib-0.7.0/init/systemd/environ/apiserver |
|
| 66 |
-cd %{name}-%{version}
|
|
| 67 |
-%patch0 -p1 |
|
| 68 |
- |
|
| 69 |
-pushd vendor/golang.org/x/net |
|
| 70 |
-%patch1 -p1 |
|
| 71 |
-%patch2 -p1 |
|
| 72 |
-popd |
|
| 73 |
- |
|
| 74 |
-%build |
|
| 75 |
-make |
|
| 76 |
-pushd build/pause |
|
| 77 |
-mkdir -p bin |
|
| 78 |
-gcc -Os -Wall -Werror -static -o bin/pause-%{archname} pause.c
|
|
| 79 |
-strip bin/pause-%{archname}
|
|
| 80 |
-popd |
|
| 81 |
- |
|
| 82 |
-%ifarch x86_64 |
|
| 83 |
-make WHAT="cmd/kubectl" KUBE_BUILD_PLATFORMS="darwin/%{archname} windows/%{archname}"
|
|
| 84 |
-%endif |
|
| 85 |
- |
|
| 86 |
-%install |
|
| 87 |
-install -vdm644 %{buildroot}/etc/profile.d
|
|
| 88 |
-install -m 755 -d %{buildroot}%{_bindir}
|
|
| 89 |
-install -m 755 -d %{buildroot}/opt/vmware/kubernetes
|
|
| 90 |
-install -m 755 -d %{buildroot}/opt/vmware/kubernetes/linux/%{archname}
|
|
| 91 |
-%ifarch x86_64 |
|
| 92 |
-install -m 755 -d %{buildroot}/opt/vmware/kubernetes/darwin/%{archname}
|
|
| 93 |
-install -m 755 -d %{buildroot}/opt/vmware/kubernetes/windows/%{archname}
|
|
| 94 |
-%endif |
|
| 95 |
- |
|
| 96 |
-binaries=(cloud-controller-manager hyperkube kube-aggregator kube-apiserver kube-controller-manager kubelet kube-proxy kube-scheduler kubectl) |
|
| 97 |
-for bin in "${binaries[@]}"; do
|
|
| 98 |
- echo "+++ INSTALLING ${bin}"
|
|
| 99 |
- install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/${bin}
|
|
| 100 |
-done |
|
| 101 |
-install -p -m 755 -t %{buildroot}%{_bindir} build/pause/bin/pause-%{archname}
|
|
| 102 |
- |
|
| 103 |
-# kubectl-extras |
|
| 104 |
-install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/linux/%{archname}/ _output/local/bin/linux/%{archname}/kubectl
|
|
| 105 |
-%ifarch x86_64 |
|
| 106 |
-install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/darwin/%{archname}/ _output/local/bin/darwin/%{archname}/kubectl
|
|
| 107 |
-install -p -m 755 -t %{buildroot}/opt/vmware/kubernetes/windows/%{archname}/ _output/local/bin/windows/%{archname}/kubectl.exe
|
|
| 108 |
-%endif |
|
| 109 |
- |
|
| 110 |
-# kubeadm install |
|
| 111 |
-install -vdm644 %{buildroot}/etc/systemd/system/kubelet.service.d
|
|
| 112 |
-install -p -m 755 -t %{buildroot}%{_bindir} _output/local/bin/linux/%{archname}/kubeadm
|
|
| 113 |
-install -p -m 755 -t %{buildroot}/etc/systemd/system build/rpms/kubelet.service
|
|
| 114 |
-install -p -m 755 -t %{buildroot}/etc/systemd/system/kubelet.service.d build/rpms/10-kubeadm.conf
|
|
| 115 |
-sed -i '/KUBELET_CGROUP_ARGS=--cgroup-driver=systemd/d' %{buildroot}/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
|
|
| 116 |
- |
|
| 117 |
-cd .. |
|
| 118 |
-# install config files |
|
| 119 |
-install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
|
|
| 120 |
-install -m 644 -t %{buildroot}%{_sysconfdir}/%{name} contrib-0.7.0/init/systemd/environ/*
|
|
| 121 |
-cat << EOF >> %{buildroot}%{_sysconfdir}/%{name}/kubeconfig
|
|
| 122 |
-apiVersion: v1 |
|
| 123 |
-clusters: |
|
| 124 |
-- cluster: |
|
| 125 |
- server: http://127.0.0.1:8080 |
|
| 126 |
-EOF |
|
| 127 |
-sed -i '/KUBELET_API_SERVER/c\KUBELET_API_SERVER="--kubeconfig=/etc/kubernetes/kubeconfig"' %{buildroot}%{_sysconfdir}/%{name}/kubelet
|
|
| 128 |
- |
|
| 129 |
-# install service files |
|
| 130 |
-install -d -m 0755 %{buildroot}/usr/lib/systemd/system
|
|
| 131 |
-install -m 0644 -t %{buildroot}/usr/lib/systemd/system contrib-0.7.0/init/systemd/*.service
|
|
| 132 |
- |
|
| 133 |
-# install the place the kubelet defaults to put volumes |
|
| 134 |
-install -dm755 %{buildroot}/var/lib/kubelet
|
|
| 135 |
-install -dm755 %{buildroot}/var/run/kubernetes
|
|
| 136 |
- |
|
| 137 |
-mkdir -p %{buildroot}/%{_lib}/tmpfiles.d
|
|
| 138 |
-cat << EOF >> %{buildroot}/%{_lib}/tmpfiles.d/kubernetes.conf
|
|
| 139 |
-d /var/run/kubernetes 0755 kube kube - |
|
| 140 |
-EOF |
|
| 141 |
- |
|
| 142 |
-%check |
|
| 143 |
-export GOPATH=%{_builddir}
|
|
| 144 |
-go get golang.org/x/tools/cmd/cover |
|
| 145 |
-make %{?_smp_mflags} check
|
|
| 146 |
- |
|
| 147 |
-%clean |
|
| 148 |
-rm -rf %{buildroot}/*
|
|
| 149 |
- |
|
| 150 |
-%pre |
|
| 151 |
-if [ $1 -eq 1 ]; then |
|
| 152 |
- # Initial installation. |
|
| 153 |
- getent group kube >/dev/null || groupadd -r kube |
|
| 154 |
- getent passwd kube >/dev/null || useradd -r -g kube -d / -s /sbin/nologin \ |
|
| 155 |
- -c "Kubernetes user" kube |
|
| 156 |
-fi |
|
| 157 |
- |
|
| 158 |
-%post |
|
| 159 |
-chown -R kube:kube /var/lib/kubelet |
|
| 160 |
-chown -R kube:kube /var/run/kubernetes |
|
| 161 |
-systemctl daemon-reload |
|
| 162 |
- |
|
| 163 |
-%post kubeadm |
|
| 164 |
-systemctl daemon-reload |
|
| 165 |
-systemctl stop kubelet |
|
| 166 |
-systemctl enable kubelet |
|
| 167 |
- |
|
| 168 |
-%preun kubeadm |
|
| 169 |
-if [ $1 -eq 0 ]; then |
|
| 170 |
- systemctl stop kubelet |
|
| 171 |
-fi |
|
| 172 |
- |
|
| 173 |
-%postun |
|
| 174 |
-if [ $1 -eq 0 ]; then |
|
| 175 |
- # Package deletion |
|
| 176 |
- userdel kube |
|
| 177 |
- groupdel kube |
|
| 178 |
- systemctl daemon-reload |
|
| 179 |
-fi |
|
| 180 |
- |
|
| 181 |
-%postun kubeadm |
|
| 182 |
-if [ $1 -eq 0 ]; then |
|
| 183 |
- systemctl daemon-reload |
|
| 184 |
-fi |
|
| 185 |
- |
|
| 186 |
-%files |
|
| 187 |
-%defattr(-,root,root) |
|
| 188 |
-%{_bindir}/cloud-controller-manager
|
|
| 189 |
-%{_bindir}/hyperkube
|
|
| 190 |
-%{_bindir}/kube-aggregator
|
|
| 191 |
-%{_bindir}/kube-apiserver
|
|
| 192 |
-%{_bindir}/kube-controller-manager
|
|
| 193 |
-%{_bindir}/kubelet
|
|
| 194 |
-%{_bindir}/kube-proxy
|
|
| 195 |
-%{_bindir}/kube-scheduler
|
|
| 196 |
-%{_bindir}/kubectl
|
|
| 197 |
-#%{_bindir}/kubefed
|
|
| 198 |
-%{_lib}/systemd/system/kube-apiserver.service
|
|
| 199 |
-%{_lib}/systemd/system/kubelet.service
|
|
| 200 |
-%{_lib}/systemd/system/kube-scheduler.service
|
|
| 201 |
-%{_lib}/systemd/system/kube-controller-manager.service
|
|
| 202 |
-%{_lib}/systemd/system/kube-proxy.service
|
|
| 203 |
-%{_lib}/tmpfiles.d/kubernetes.conf
|
|
| 204 |
-%dir %{_sysconfdir}/%{name}
|
|
| 205 |
-%dir /var/lib/kubelet |
|
| 206 |
-%dir /var/run/kubernetes |
|
| 207 |
-%config(noreplace) %{_sysconfdir}/%{name}/config
|
|
| 208 |
-%config(noreplace) %{_sysconfdir}/%{name}/apiserver
|
|
| 209 |
-%config(noreplace) %{_sysconfdir}/%{name}/controller-manager
|
|
| 210 |
-%config(noreplace) %{_sysconfdir}/%{name}/proxy
|
|
| 211 |
-%config(noreplace) %{_sysconfdir}/%{name}/kubelet
|
|
| 212 |
-%config(noreplace) %{_sysconfdir}/%{name}/kubeconfig
|
|
| 213 |
-%config(noreplace) %{_sysconfdir}/%{name}/scheduler
|
|
| 214 |
- |
|
| 215 |
-%files kubeadm |
|
| 216 |
-%defattr(-,root,root) |
|
| 217 |
-%{_bindir}/kubeadm
|
|
| 218 |
-/etc/systemd/system/kubelet.service |
|
| 219 |
-/etc/systemd/system/kubelet.service.d/10-kubeadm.conf |
|
| 220 |
- |
|
| 221 |
-%files pause |
|
| 222 |
-%defattr(-,root,root) |
|
| 223 |
-%{_bindir}/pause-%{archname}
|
|
| 224 |
- |
|
| 225 |
-%files kubectl-extras |
|
| 226 |
-%defattr(-,root,root) |
|
| 227 |
-/opt/vmware/kubernetes/linux/%{archname}/kubectl
|
|
| 228 |
-%ifarch x86_64 |
|
| 229 |
-/opt/vmware/kubernetes/darwin/%{archname}/kubectl
|
|
| 230 |
-/opt/vmware/kubernetes/windows/%{archname}/kubectl.exe
|
|
| 231 |
-%endif |
|
| 232 |
- |
|
| 233 |
-%changelog |
|
| 234 |
-* Mon Jan 28 2019 Bo Gan <ganb@vmware.com> 1.11.3-3 |
|
| 235 |
-- Fix CVE-2018-17846 and CVE-2018-17143 |
|
| 236 |
-* Fri Oct 26 2018 Ajay Kaher <akaher@vmware.com> 1.11.3-2 |
|
| 237 |
-- Fix for aarch64 |
|
| 238 |
-* Tue Oct 23 2018 Michelle Wang <michellew@vmware.com> 1.11.3-1 |
|
| 239 |
-- Add k8s version 1.11.3 with vke patch (350444) |