Skip to content

Commit

Permalink
Use the proper package revision on CentOS and reintroduce the kuberne…
Browse files Browse the repository at this point in the history
…tes-cni package (#933)

* Install proper package version on CentOS

* Reintroduce kubernetes-cni package

* Update test fixtures
  • Loading branch information
xmudrii authored Jun 25, 2020
1 parent e708ebc commit 0f64d4e
Show file tree
Hide file tree
Showing 10 changed files with 60 additions and 33 deletions.
33 changes: 24 additions & 9 deletions pkg/scripts/os.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ import (
"github.com/kubermatic/kubeone/pkg/apis/kubeone"
)

const (
defaultKubernetesCNIVersion = "0.8.6"
)

const (
kubeadmDebianTemplate = `
sudo swapoff -a
Expand Down Expand Up @@ -64,6 +68,7 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install --option "Dpkg::Options::=--
rsync
kube_ver=$(apt-cache madison kubelet | grep "{{ .KUBERNETES_VERSION }}" | head -1 | awk '{print $3}')
cni_ver=$(apt-cache madison kubernetes-cni | grep "{{ .KUBERNETES_CNI_VERSION }}" | head -1 | awk '{print $3}')
{{- if or .FORCE .UPGRADE }}
sudo apt-mark unhold docker-ce kubelet kubeadm kubectl kubernetes-cni
Expand All @@ -85,9 +90,10 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install \
{{- if .KUBECTL }}
kubectl=${kube_ver} \
{{- end }}
kubernetes-cni=${cni_ver} \
{{ aptDocker .KUBERNETES_VERSION }}
sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni
sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down Expand Up @@ -143,16 +149,17 @@ sudo yum versionlock delete docker-ce docker-ce-cli kubelet kubeadm kubectl kube
sudo yum install -y \
{{- if .KUBELET }}
kubelet-{{ .KUBERNETES_VERSION }}-0 \
kubelet-{{ .KUBERNETES_VERSION }} \
{{- end }}
{{- if .KUBEADM }}
kubeadm-{{ .KUBERNETES_VERSION }}-0 \
kubeadm-{{ .KUBERNETES_VERSION }} \
{{- end }}
{{- if .KUBECTL }}
kubectl-{{ .KUBERNETES_VERSION }}-0 \
kubectl-{{ .KUBERNETES_VERSION }} \
{{- end }}
kubernetes-cni-{{ .KUBERNETES_CNI_VERSION }} \
{{ yumDocker .KUBERNETES_VERSION }}
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni
sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand All @@ -170,7 +177,7 @@ source /etc/kubeone/proxy-env
sudo systemctl restart docker
sudo mkdir -p /opt/cni/bin /etc/kubernetes/pki /etc/kubernetes/manifests
curl -L "https://github.com/containernetworking/plugins/releases/download/v0.8.6/cni-plugins-linux-${HOST_ARCH}-v0.8.6.tgz" |
curl -L "https://github.com/containernetworking/plugins/releases/download/v{{ .KUBERNETES_CNI_VERSION }}/cni-plugins-linux-${HOST_ARCH}-v{{ .KUBERNETES_CNI_VERSION }}.tgz" |
sudo tar -C /opt/cni/bin -xz
RELEASE="v{{ .KUBERNETES_VERSION }}"
Expand Down Expand Up @@ -252,7 +259,7 @@ sudo rm /etc/systemd/system/kubelet.service /etc/systemd/system/kubelet.service.
source /etc/kubeone/proxy-env
sudo mkdir -p /opt/cni/bin
curl -L "https://github.com/containernetworking/plugins/releases/download/v0.8.6/cni-plugins-linux-${HOST_ARCH}-v0.8.6.tgz" |
curl -L "https://github.com/containernetworking/plugins/releases/download/v{{ .KUBERNETES_CNI_VERSION }}/cni-plugins-linux-${HOST_ARCH}-v{{ .KUBERNETES_CNI_VERSION }}.tgz" |
sudo tar -C /opt/cni/bin -xz
RELEASE="v{{ .KUBERNETES_VERSION }}"
Expand Down Expand Up @@ -327,6 +334,7 @@ func KubeadmDebian(cluster *kubeone.KubeOneCluster, force bool) (string, error)
"KUBEADM": true,
"KUBECTL": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"HTTP_PROXY": cluster.Proxy.HTTP,
"HTTPS_PROXY": cluster.Proxy.HTTPS,
Expand All @@ -345,6 +353,7 @@ func KubeadmCentOS(cluster *kubeone.KubeOneCluster, force bool) (string, error)
"KUBEADM": true,
"KUBECTL": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"PROXY": proxy,
"FORCE": force,
Expand All @@ -353,7 +362,8 @@ func KubeadmCentOS(cluster *kubeone.KubeOneCluster, force bool) (string, error)

func KubeadmCoreOS(cluster *kubeone.KubeOneCluster) (string, error) {
return Render(kubeadmCoreOSTemplate, Data{
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
})
}

Expand All @@ -374,6 +384,7 @@ func UpgradeKubeadmAndCNIDebian(cluster *kubeone.KubeOneCluster) (string, error)
"UPGRADE": true,
"KUBEADM": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"HTTP_PROXY": cluster.Proxy.HTTP,
"HTTPS_PROXY": cluster.Proxy.HTTPS,
Expand All @@ -390,14 +401,16 @@ func UpgradeKubeadmAndCNICentOS(cluster *kubeone.KubeOneCluster) (string, error)
"UPGRADE": true,
"KUBEADM": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"PROXY": proxy,
})
}

func UpgradeKubeadmAndCNICoreOS(k8sVersion string) (string, error) {
return Render(upgradeKubeadmAndCNICoreOSScriptTemplate, Data{
"KUBERNETES_VERSION": k8sVersion,
"KUBERNETES_VERSION": k8sVersion,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
})
}

Expand All @@ -407,6 +420,7 @@ func UpgradeKubeletAndKubectlDebian(cluster *kubeone.KubeOneCluster) (string, er
"KUBELET": true,
"KUBECTL": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"HTTP_PROXY": cluster.Proxy.HTTP,
"HTTPS_PROXY": cluster.Proxy.HTTPS,
Expand All @@ -424,6 +438,7 @@ func UpgradeKubeletAndKubectlCentOS(cluster *kubeone.KubeOneCluster) (string, er
"KUBELET": true,
"KUBECTL": true,
"KUBERNETES_VERSION": cluster.Versions.Kubernetes,
"KUBERNETES_CNI_VERSION": defaultKubernetesCNIVersion,
"CONFIGURE_REPOSITORIES": cluster.SystemPackages.ConfigureRepositories,
"PROXY": proxy,
})
Expand Down
9 changes: 5 additions & 4 deletions pkg/scripts/testdata/TestKubeadmCentOS-force.golden
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,12 @@ sudo yum install -y \
sudo yum versionlock delete docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni || true

sudo yum install -y \
kubelet-v1.17.4-0 \
kubeadm-v1.17.4-0 \
kubectl-v1.17.4-0 \
kubelet-v1.17.4 \
kubeadm-v1.17.4 \
kubectl-v1.17.4 \
kubernetes-cni-0.8.6 \
docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
9 changes: 5 additions & 4 deletions pkg/scripts/testdata/TestKubeadmCentOS-proxy.golden
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,12 @@ sudo yum install -y \
lvm2

sudo yum install -y \
kubelet-v1.17.4-0 \
kubeadm-v1.17.4-0 \
kubectl-v1.17.4-0 \
kubelet-v1.17.4 \
kubeadm-v1.17.4 \
kubectl-v1.17.4 \
kubernetes-cni-0.8.6 \
docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
9 changes: 5 additions & 4 deletions pkg/scripts/testdata/TestKubeadmCentOS-simple.golden
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,12 @@ sudo yum install -y \
lvm2

sudo yum install -y \
kubelet-v1.17.4-0 \
kubeadm-v1.17.4-0 \
kubectl-v1.17.4-0 \
kubelet-v1.17.4 \
kubeadm-v1.17.4 \
kubectl-v1.17.4 \
kubernetes-cni-0.8.6 \
docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
9 changes: 5 additions & 4 deletions pkg/scripts/testdata/TestKubeadmCentOS-v1.16.1.golden
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,12 @@ sudo yum install -y \
lvm2

sudo yum install -y \
kubelet-v1.16.1-0 \
kubeadm-v1.16.1-0 \
kubectl-v1.16.1-0 \
kubelet-v1.16.1 \
kubeadm-v1.16.1 \
kubectl-v1.16.1 \
kubernetes-cni-0.8.6 \
docker-ce-18.03.1.ce-1.el7.centos
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
4 changes: 3 additions & 1 deletion pkg/scripts/testdata/TestKubeadmDebian-simple.golden
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install --option "Dpkg::Options::=--
rsync

kube_ver=$(apt-cache madison kubelet | grep "v1.17.4" | head -1 | awk '{print $3}')
cni_ver=$(apt-cache madison kubernetes-cni | grep "0.8.6" | head -1 | awk '{print $3}')

sudo DEBIAN_FRONTEND=noninteractive apt-get install \
--option "Dpkg::Options::=--force-confold" \
Expand All @@ -75,9 +76,10 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install \
kubelet=${kube_ver} \
kubeadm=${kube_ver} \
kubectl=${kube_ver} \
kubernetes-cni=${cni_ver} \
docker-ce=5:19.03.9~3-0~ubuntu-$(lsb_release -cs) docker-ce-cli=5:19.03.9~3-0~ubuntu-$(lsb_release -cs)

sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
5 changes: 3 additions & 2 deletions pkg/scripts/testdata/TestUpgradeKubeadmAndCNICentOS.golden
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,10 @@ sudo yum install -y \
sudo yum versionlock delete docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni || true

sudo yum install -y \
kubeadm-v1.17.4-0 \
kubeadm-v1.17.4 \
kubernetes-cni-0.8.6 \
docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
4 changes: 3 additions & 1 deletion pkg/scripts/testdata/TestUpgradeKubeadmAndCNIDebian.golden
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,18 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install --option "Dpkg::Options::=--
rsync

kube_ver=$(apt-cache madison kubelet | grep "v1.17.4" | head -1 | awk '{print $3}')
cni_ver=$(apt-cache madison kubernetes-cni | grep "0.8.6" | head -1 | awk '{print $3}')
sudo apt-mark unhold docker-ce kubelet kubeadm kubectl kubernetes-cni

sudo DEBIAN_FRONTEND=noninteractive apt-get install \
--option "Dpkg::Options::=--force-confold" \
--no-install-recommends \
-y \
kubeadm=${kube_ver} \
kubernetes-cni=${cni_ver} \
docker-ce=5:19.03.9~3-0~ubuntu-$(lsb_release -cs) docker-ce-cli=5:19.03.9~3-0~ubuntu-$(lsb_release -cs)

sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,11 @@ sudo yum install -y \
sudo yum versionlock delete docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni || true

sudo yum install -y \
kubelet-v1.17.4-0 \
kubectl-v1.17.4-0 \
kubelet-v1.17.4 \
kubectl-v1.17.4 \
kubernetes-cni-0.8.6 \
docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo yum versionlock add docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install --option "Dpkg::Options::=--
rsync

kube_ver=$(apt-cache madison kubelet | grep "v1.17.4" | head -1 | awk '{print $3}')
cni_ver=$(apt-cache madison kubernetes-cni | grep "0.8.6" | head -1 | awk '{print $3}')
sudo apt-mark unhold docker-ce kubelet kubeadm kubectl kubernetes-cni

sudo DEBIAN_FRONTEND=noninteractive apt-get install \
Expand All @@ -75,9 +76,10 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get install \
-y \
kubelet=${kube_ver} \
kubectl=${kube_ver} \
kubernetes-cni=${cni_ver} \
docker-ce=5:19.03.9~3-0~ubuntu-$(lsb_release -cs) docker-ce-cli=5:19.03.9~3-0~ubuntu-$(lsb_release -cs)

sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl
sudo apt-mark hold docker-ce docker-ce-cli kubelet kubeadm kubectl kubernetes-cni

sudo systemctl daemon-reload
sudo systemctl enable --now docker
Expand Down

0 comments on commit 0f64d4e

Please sign in to comment.