From 7e07bc01f44c54ef32d9a6bf6fa5360589c8cb9a Mon Sep 17 00:00:00 2001 From: Stephen Augustus Date: Fri, 22 May 2020 23:08:28 -0400 Subject: [PATCH] Bundle CNI plugins in kubelet deb/rpm packages Signed-off-by: Stephen Augustus --- debian/bionic/kubelet/debian/control | 2 +- debian/bionic/kubelet/debian/rules | 4 ++++ debian/build.go | 4 ++-- rpm/kubelet.spec | 16 +--------------- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/debian/bionic/kubelet/debian/control b/debian/bionic/kubelet/debian/control index 8f945f62d40..1448157c85d 100644 --- a/debian/bionic/kubelet/debian/control +++ b/debian/bionic/kubelet/debian/control @@ -10,6 +10,6 @@ Vcs-Browser: https://github.com/kubernetes/kubernetes Package: kubelet Architecture: {{ .DebArch }} -Depends: iptables (>= 1.4.21), kubernetes-cni ({{ .KubeletCNIVersion }}), iproute2, socat, util-linux, mount, ebtables, ethtool, conntrack, ${misc:Depends} +Depends: iptables (>= 1.4.21), iproute2, socat, util-linux, mount, ebtables, ethtool, conntrack, ${misc:Depends}, ${shlibs:Depends} Description: Kubernetes Node Agent The node agent of Kubernetes, the container cluster manager diff --git a/debian/bionic/kubelet/debian/rules b/debian/bionic/kubelet/debian/rules index db2587dbd92..cbb7a7f6e60 100755 --- a/debian/bionic/kubelet/debian/rules +++ b/debian/bionic/kubelet/debian/rules @@ -12,6 +12,10 @@ binary: -o usr/bin/kubelet \ "{{ .DownloadLinkBase }}/bin/linux/{{ .Arch }}/kubelet" chmod +x usr/bin/kubelet + mkdir -p ./bin + curl -sSL --fail --retry 5 \ + "https://storage.googleapis.com/k8s-artifacts-cni/release/v{{ .KubeletCNIVersion }}/cni-plugins-linux-{{ .Arch }}-v{{ .KubeletCNIVersion }}.tgz" \ + | tar -C ./bin -xz dh_testroot dh_auto_install dh_shlibdeps diff --git a/debian/build.go b/debian/build.go index b431e49f622..caeb82afe79 100644 --- a/debian/build.go +++ b/debian/build.go @@ -376,9 +376,9 @@ func getKubeletCNIVersion(v version) (string, error) { } if sv.GTE(v190) { - return fmt.Sprintf(">= %s", cniVersion), nil + return cniVersion, nil } - return fmt.Sprint("= 0.5.1"), nil + return "0.5.1", nil } // getCRIToolsVersion assumes v coming in is >= 1.11.0-alpha.0 diff --git a/rpm/kubelet.spec b/rpm/kubelet.spec index 175c2dd225c..14e5f53ccb2 100644 --- a/rpm/kubelet.spec +++ b/rpm/kubelet.spec @@ -33,7 +33,6 @@ Source7: https://github.com/kubernetes-sigs/cri-tools/releases/download/v%{CRI_T BuildRequires: systemd BuildRequires: curl Requires: iptables >= 1.4.21 -Requires: kubernetes-cni >= %{CNI_VERSION} Requires: socat Requires: util-linux Requires: ethtool @@ -45,16 +44,6 @@ Requires: conntrack %description The node agent of Kubernetes, the container cluster manager. -%package -n kubernetes-cni - -Version: %{CNI_VERSION} -Release: %{RPM_RELEASE} -Summary: Binaries required to provision kubernetes container networking -Requires: kubelet - -%description -n kubernetes-cni -Binaries required to provision container networking. - %package -n kubectl Version: %{KUBE_VERSION} @@ -71,7 +60,6 @@ Release: %{RPM_RELEASE} Summary: Command-line utility for administering a Kubernetes cluster. Requires: kubelet >= 1.13.0 Requires: kubectl >= 1.13.0 -Requires: kubernetes-cni >= 0.7.5 Requires: cri-tools >= 1.13.0 %description -n kubeadm @@ -137,12 +125,10 @@ mv cni-plugins/* %{buildroot}/opt/cni/bin/ %{_bindir}/kubelet %{_unitdir}/kubelet.service %{_sysconfdir}/kubernetes/manifests/ +/opt/cni %config(noreplace) %{_sysconfdir}/sysconfig/kubelet -%files -n kubernetes-cni -/opt/cni - %files -n kubectl %{_bindir}/kubectl