%ifarch x86_64 %global ARCH amd64 %endif %ifarch ppc64le %global ARCH ppc64le %endif Name: kubelet Version: 1.9.6 Release: 1%{?dist} Summary: Container cluster management License: ASL 2.0 ExclusiveArch: x86_64 ppc64le URL: https://kubernetes.io Source0: https://dl.k8s.io/v%{version}/bin/linux/%{ARCH}/kubelet Source1: https://raw.githubusercontent.com/kubernetes/release/master/rpm/kubelet.service Source2: https://dl.k8s.io/v%{version}/bin/linux/%{ARCH}/kubectl Source3: https://dl.k8s.io/v%{version}/bin/linux/%{ARCH}/kubeadm Source4: https://raw.githubusercontent.com/kubernetes/release/master/rpm/10-kubeadm-post-1.8.conf Source5: https://git.io/weave BuildRequires: curl %{?systemd_requires} BuildRequires: systemd Requires: docker Requires: containernetworking-cni >= 0.6.0 Requires: ebtables Requires: ethtool Requires: glibc Requires: iptables >= 1.4.21 Requires: iproute Requires: socat Requires: util-linux Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Provides: kubernetes-cni Obsoletes: kubernetes-cni %description The node agent of Kubernetes, the container cluster manager. %package -n kubectl Summary: Command-line utility for interacting with a Kubernetes cluster. %description -n kubectl Command-line utility for interacting with a Kubernetes cluster. %package -n kubeadm Summary: Command-line utility for administering a Kubernetes cluster. Requires: kubelet >= %{version} Requires: kubectl >= %{version} Requires: containernetworking-cni >= 0.6.0 %description -n kubeadm Command-line utility for administering a Kubernetes cluster. %package -n kubeset Summary: Command-line utility for configuring a Kubernetes cluster. Requires: kubelet >= %{version} Requires: kubectl >= %{version} Requires: kubeadm >= %{version} Requires: kompose >= 1.0.0 %description -n kubeset Command-line utility for configuring a Kubernetes cluster. %prep cp -p %SOURCE0 %{_builddir}/ cp -p %SOURCE1 %{_builddir}/ cp -p %SOURCE2 %{_builddir}/ cp -p %SOURCE3 %{_builddir}/ cp -p %SOURCE4 %{_builddir}/10-kubeadm.conf cp -p %SOURCE5 %{_builddir}/ cat < %{_builddir}/k8s.conf net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF cat < %{_builddir}/kubeset #!/bin/sh firewall() { # kubernetes firewall-cmd --zone=public --add-port=6443/tcp --permanent firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=9898/tcp --permanent firewall-cmd --zone=public --add-port=10250/tcp --permanent # weave firewall-cmd --zone=public --add-port=6783/tcp --permanent firewall-cmd --reload } accounting () { systemctl set-property docker.service CPUAccounting=yes systemctl set-property docker.service MemoryAccounting=yes } reset() { kubeadm reset ; /usr/bin/weave reset } init() { reset ; setenforce 0 ; kubeadm init --kubernetes-version \`kubelet --version | cut -d" " -f2\` --pod-network-cidr=10.32.0.0/12 --token klubs0.kubenodeinitjoin --token-ttl 0 --apiserver-advertise-address \$kubeman --apiserver-bind-port 6443 ; setenforce 1 ; weave } join() { reset ; kubeadm join --token klubs0.kubenodeinitjoin --discovery-token-unsafe-skip-ca-verification \$kubeman:6443 } weave() { if [ -f "/etc/kubernetes/admin.conf" ] then kubectl --kubeconfig /etc/kubernetes/admin.conf apply -f "https://cloud.weave.works/k8s/net?k8s-version=\$(kubeset version | base64 | tr -d '\n')" ; else echo "you must be on kubeadm master node" ; fi } taint() { if [ -f "/etc/kubernetes/admin.conf" ] then kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes --all node-role.kubernetes.io/master- ; else echo "you must be on kubeadm master node" ; fi } status() { systemctl status kubelet.service -l --all } if [ -z "\$1" ] then echo -e "kubeset configure the Kubernetes cluster manager." echo -e echo -e "Use kubeset [firewall|reset|init [hostame]|join [hostname]|weave|taint|status|convert|up|down|kubectlcommand [params]]" else case "\$1" in init|join) if [ -z "\$2" ] then kubeman=klubes1 ; else kubeman=\$2 ; fi \$1 ;; firewall|accounting|reset|taint|weave|status) \$1 ;; convert|up|down) kompose \$* ;; *) if [ -f "/etc/kubernetes/admin.conf" ] then kubectl --kubeconfig /etc/kubernetes/admin.conf \$* ; else kubectl --kubeconfig /etc/kubernetes/kubelet.conf \$* ; fi ;; esac fi EOF %install install -m 755 -d %{buildroot}%{_bindir} install -m 755 -d %{buildroot}%{_unitdir} install -m 755 -d %{buildroot}%{_sysconfdir}/systemd/system/kubelet.service.d/ install -m 755 -d %{buildroot}%{_sysconfdir}/sysctl.d/ install -m 755 -d %{buildroot}%{_sysconfdir}/kubernetes/manifests/ install -m 755 -d %{buildroot}%{_sysconfdir}/cni/net.d/ install -m 755 -d %{buildroot}/var/lib/kubelet/ install -p -m 755 -t %{buildroot}%{_bindir}/ kubelet install -p -m 755 -t %{buildroot}%{_bindir}/ kubectl install -p -m 755 -t %{buildroot}%{_bindir}/ kubeadm install -p -m 755 -t %{buildroot}%{_bindir}/ kubeset install -p -m 755 -t %{buildroot}%{_bindir}/ weave install -p -m 644 -t %{buildroot}%{_unitdir}/ kubelet.service install -p -m 644 -t %{buildroot}%{_sysconfdir}/systemd/system/kubelet.service.d/ 10-kubeadm.conf install -p -m 644 -t %{buildroot}%{_sysconfdir}/sysctl.d/ k8s.conf %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %{_bindir}/kubelet %{_unitdir}/kubelet.service %{_sysconfdir}/kubernetes/manifests/ %{_sysconfdir}/cni/net.d/ %config(noreplace) %{_sysconfdir}/sysctl.d/k8s.conf %files -n kubectl %{_bindir}/kubectl %files -n kubeadm %{_bindir}/kubeadm %config(noreplace) %{_sysconfdir}/systemd/system/kubelet.service.d/10-kubeadm.conf %doc %files -n kubeset %{_bindir}/kubeset %{_bindir}/weave %changelog * Fri Mar 23 2018 Jean-Marc Liger - 1.9.6-1 - Bump version of kubelet and kubectl to v1.9.6. * Mon Feb 12 2018 Jean-Marc Liger - 1.9.3-1 - Bump version of kubelet and kubectl to v1.9.3. * Fri Jan 19 2018 Jean-Marc Liger - 1.9.2-1 - Bump version of kubelet and kubectl to v1.9.2. * Sun Dec 24 2017 Jean-Marc Liger - 1.9.0-1 - Bump version of kubelet and kubectl to v1.9.0. - Update containernetworking-cni dependency to v0.6.0 * Sun Nov 26 2017 Jean-Marc Liger - 1.8.4-1 - Bump version of kubelet and kubectl to v1.8.4. * Sat Nov 11 2017 Jean-Marc Liger - 1.8.3-1 - Bump version of kubelet and kubectl to v1.8.3. * Tue Oct 24 2017 Jean-Marc Liger - 1.8.2-1 - Bump version of kubelet and kubectl to v1.8.2. * Wed Oct 18 2017 Jean-Marc Liger - 1.8.1-1 - Bump version of kubelet and kubectl to v1.8.1. * Fri Sep 29 2017 Jean-Marc Liger - 1.8.0-1 - Bump version of kubelet and kubectl to v1.8.0. * Fri Sep 08 2017 Jean-Marc Liger - 1.7.5-1 - Bump version of kubelet and kubectl to v1.7.5. * Mon Aug 21 2017 Jean-Marc Liger - 1.7.3-1 - Bump version of kubelet and kubectl to v1.7.3. * Fri Jul 28 2017 Jean-Marc Liger - 1.7.2-2 - Update kubeset script for accounting, reset, init and status - Add weave tool * Mon Jul 24 2017 Jean-Marc Liger - 1.7.2-1 - Bump version of kubelet and kubectl to v1.7.2. - Update containernetworking-cni dependency to v0.5.2 - Update kubeset script for kompose * Mon Jul 17 2017 Jean-Marc Liger - 1.7.1-1 - Bump version of kubelet and kubectl to v1.7.1. - Remove kubernetes-cni subpackage and conf files in favor of containernetworking-cni dependency - Update 10-kubeadm.conf file - Add k8s.conf conf file - Correct kubeset script for weave network and untaint master * Fri Jul 07 2017 Jean-Marc Liger - 1.7.0-1 - Bump version of kubelet and kubectl to v1.7.0. - Update 10-kubeadm.conf file - Update kubeset script for weave network and untaint master * Fri May 26 2017 Jean-Marc Liger - 1.6.4-1 - Bump version of kubelet and kubectl to v1.6.4. - Update kubeset script * Mon May 15 2017 Jean-Marc Liger - 1.6.3-2 - Add conf files and kubeset subpackage * Wed May 10 2017 Jean-Marc Liger - 1.6.3-1 - Bump version of kubelet and kubectl to v1.6.3. - Add kubectl systemd post|preun|postun - Update permissions files - ExclusiveArch x86_64 ppc64le * Wed May 03 2017 Jean-Marc Liger - 1.6.2-1 - Rebuild for COPR EL7 - Add noreplace to 10-kubeadm.conf * Wed Apr 26 2017 Jacob Beacham - 1.6.2 - Bump version of kubelet and kubectl to v1.6.2. * Mon Apr 3 2017 Mike Danese - 1.6.1 - Bump version of kubelet and kubectl to v1.6.1. * Tue Mar 28 2017 Lucas Käldström - Bump CNI version to v0.5.1. * Wed Mar 15 2017 Lucas Käldström - 1.6.0 - Bump version of kubelet, kubectl and kubeadm to v1.6.0. * Tue Dec 13 2016 Mike Danese - 1.5.4 - Bump version of kubelet and kubectl to v1.5.4. * Tue Dec 13 2016 Lucas Käldström - 1.5.1 - Bump version of kubelet and kubectl to v1.5.1, plus kubeadm to the third stable version * Tue Dec 6 2016 Lucas Käldström - 1.5.0-beta.2 - Bump version of kubelet and kubectl * Wed Nov 16 2016 Alexander Kanevskiy - fix iproute and mount dependencies (#204) * Sun Nov 6 2016 Lucas Käldström - Sync the debs and rpm files; add some kubelet dependencies to the rpm manifest * Wed Nov 2 2016 Lucas Käldström - Bump version of kubeadm to v1.5.0-alpha.2.380+85fe0f1aadf91e * Fri Oct 21 2016 Ilya Dmitrichenko - 1.4.4-0 - Bump version of kubelet and kubectl * Mon Oct 17 2016 Lucas Käldström - 1.4.3-0 - Bump version of kubeadm * Fri Oct 14 2016 Matthew Mosesohn - 1.4.0-1 - Allow locally built/previously downloaded binaries * Tue Sep 20 2016 dgoodwin - 1.4.0-0 - Add kubectl and kubeadm sub-packages. - Rename to kubernetes-cni. - Update versions of CNI. * Wed Jul 20 2016 dgoodwin - 1.3.4-1 - Initial packaging.