From 6ff0f56c468fc0311cee3bd213de6ce8663fbeb7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 12 Jan 2024 23:53:40 +0100 Subject: fix kubernetes roles to accomodate new package naming convention --- inventory/group_vars/k8s-chtest/vars.yml | 1 - inventory/host_vars/ch-apps/vars.yml | 1 - inventory/host_vars/ch-dione.yml | 1 - inventory/host_vars/ch-helene.yml | 1 - inventory/host_vars/ch-testvm-prometheus.yml | 3 +-- inventory/host_vars/ele-calypso.yml | 1 - inventory/host_vars/ele-coturn.yml | 1 - inventory/host_vars/ele-helene.yml | 1 - inventory/host_vars/ele-jitsi.yml | 1 - inventory/host_vars/ele-media.yml | 1 - inventory/host_vars/ele-thetys.yml | 1 - inventory/host_vars/glt-calypso.yml | 1 - inventory/host_vars/glt-coturn.yml | 1 - inventory/host_vars/glt-meet1.yml | 1 - inventory/host_vars/glt-meet2.yml | 1 - inventory/host_vars/glt-tsdatacop.yml | 1 - inventory/host_vars/s2-thetys.yml | 1 - inventory/host_vars/sgg-icecast.yml | 1 - inventory/host_vars/sk-cloudio/vars.yml | 1 - inventory/host_vars/sk-testvm.yml | 1 - inventory/host_vars/sk-tomnext-nc.yml | 1 - roles/kubernetes/base/defaults/main.yml | 2 -- roles/kubernetes/base/tasks/main.yml | 25 +++++++++++------------ roles/kubernetes/kubeadm/base/tasks/main.yml | 6 +++--- roles/kubernetes/kubeadm/upgrade | 30 ++++++++++++++-------------- 25 files changed, 31 insertions(+), 55 deletions(-) diff --git a/inventory/group_vars/k8s-chtest/vars.yml b/inventory/group_vars/k8s-chtest/vars.yml index ecc9de63..c6e9552e 100644 --- a/inventory/group_vars/k8s-chtest/vars.yml +++ b/inventory/group_vars/k8s-chtest/vars.yml @@ -2,7 +2,6 @@ kubernetes_node_name: "{{ inventory_hostname | replace('ch-', '') }}" kubernetes_version: 1.27.1 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: containerd containerd_pkg_provider: docker-com diff --git a/inventory/host_vars/ch-apps/vars.yml b/inventory/host_vars/ch-apps/vars.yml index 03be1a58..b3a93483 100644 --- a/inventory/host_vars/ch-apps/vars.yml +++ b/inventory/host_vars/ch-apps/vars.yml @@ -114,7 +114,6 @@ kubelet_storage: 'syncoid:sync': 'false' kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ch-dione.yml b/inventory/host_vars/ch-dione.yml index 693fed65..e0ddd709 100644 --- a/inventory/host_vars/ch-dione.yml +++ b/inventory/host_vars/ch-dione.yml @@ -55,7 +55,6 @@ kubelet_storage: fs: ext4 # kubernetes_version: 1.28.2 -# kubernetes_cri_tools_pkg_version: 1.26.0-00 # kubernetes_container_runtime: docker # kubernetes_standalone_max_pods: 42 # kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ch-helene.yml b/inventory/host_vars/ch-helene.yml index ea832744..e08cc6d7 100644 --- a/inventory/host_vars/ch-helene.yml +++ b/inventory/host_vars/ch-helene.yml @@ -55,7 +55,6 @@ kubelet_storage: fs: ext4 # kubernetes_version: 1.28.2 -# kubernetes_cri_tools_pkg_version: 1.26.0-00 # kubernetes_container_runtime: docker # kubernetes_standalone_max_pods: 42 # kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ch-testvm-prometheus.yml b/inventory/host_vars/ch-testvm-prometheus.yml index 04e3e709..e6088527 100644 --- a/inventory/host_vars/ch-testvm-prometheus.yml +++ b/inventory/host_vars/ch-testvm-prometheus.yml @@ -70,8 +70,7 @@ kubelet_storage: size: 1G fs: ext4 -kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 +kubernetes_version: 1.28.5 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ele-calypso.yml b/inventory/host_vars/ele-calypso.yml index 40aed800..549be43d 100644 --- a/inventory/host_vars/ele-calypso.yml +++ b/inventory/host_vars/ele-calypso.yml @@ -71,7 +71,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ele-coturn.yml b/inventory/host_vars/ele-coturn.yml index 473f8b31..b7b13c2c 100644 --- a/inventory/host_vars/ele-coturn.yml +++ b/inventory/host_vars/ele-coturn.yml @@ -28,7 +28,6 @@ acme_client: acmetool kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_pod_cidr: 192.168.255.0/24 diff --git a/inventory/host_vars/ele-helene.yml b/inventory/host_vars/ele-helene.yml index e8eab99c..11067774 100644 --- a/inventory/host_vars/ele-helene.yml +++ b/inventory/host_vars/ele-helene.yml @@ -92,7 +92,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ele-jitsi.yml b/inventory/host_vars/ele-jitsi.yml index 61b1ab4b..484785a3 100644 --- a/inventory/host_vars/ele-jitsi.yml +++ b/inventory/host_vars/ele-jitsi.yml @@ -33,7 +33,6 @@ acme_client: acmetool kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ele-media.yml b/inventory/host_vars/ele-media.yml index a2f6ef90..3e0f9153 100644 --- a/inventory/host_vars/ele-media.yml +++ b/inventory/host_vars/ele-media.yml @@ -73,7 +73,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/ele-thetys.yml b/inventory/host_vars/ele-thetys.yml index 53009eda..b4bb657d 100644 --- a/inventory/host_vars/ele-thetys.yml +++ b/inventory/host_vars/ele-thetys.yml @@ -82,7 +82,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/glt-calypso.yml b/inventory/host_vars/glt-calypso.yml index 6c2b0f8a..09aad9bd 100644 --- a/inventory/host_vars/glt-calypso.yml +++ b/inventory/host_vars/glt-calypso.yml @@ -58,7 +58,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/glt-coturn.yml b/inventory/host_vars/glt-coturn.yml index 125240e1..df8312b2 100644 --- a/inventory/host_vars/glt-coturn.yml +++ b/inventory/host_vars/glt-coturn.yml @@ -21,7 +21,6 @@ acme_client: acmetool kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_pod_cidr: 192.168.255.0/24 diff --git a/inventory/host_vars/glt-meet1.yml b/inventory/host_vars/glt-meet1.yml index dcc7dd02..18108220 100644 --- a/inventory/host_vars/glt-meet1.yml +++ b/inventory/host_vars/glt-meet1.yml @@ -21,7 +21,6 @@ acme_client: acmetool kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/glt-meet2.yml b/inventory/host_vars/glt-meet2.yml index 3276bebf..fdd658f5 100644 --- a/inventory/host_vars/glt-meet2.yml +++ b/inventory/host_vars/glt-meet2.yml @@ -21,7 +21,6 @@ acme_client: acmetool kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/glt-tsdatacop.yml b/inventory/host_vars/glt-tsdatacop.yml index 43b4f36e..802564f8 100644 --- a/inventory/host_vars/glt-tsdatacop.yml +++ b/inventory/host_vars/glt-tsdatacop.yml @@ -54,7 +54,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/s2-thetys.yml b/inventory/host_vars/s2-thetys.yml index 9bd56855..7927fac0 100644 --- a/inventory/host_vars/s2-thetys.yml +++ b/inventory/host_vars/s2-thetys.yml @@ -54,7 +54,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/sgg-icecast.yml b/inventory/host_vars/sgg-icecast.yml index 400018e9..fb1ab98c 100644 --- a/inventory/host_vars/sgg-icecast.yml +++ b/inventory/host_vars/sgg-icecast.yml @@ -64,7 +64,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap diff --git a/inventory/host_vars/sk-cloudio/vars.yml b/inventory/host_vars/sk-cloudio/vars.yml index d510cf9f..182f1588 100644 --- a/inventory/host_vars/sk-cloudio/vars.yml +++ b/inventory/host_vars/sk-cloudio/vars.yml @@ -71,7 +71,6 @@ kubelet_storage: quota: 20G kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_pod_cidr: 192.168.255.0/24 diff --git a/inventory/host_vars/sk-testvm.yml b/inventory/host_vars/sk-testvm.yml index 12362457..e93d1394 100644 --- a/inventory/host_vars/sk-testvm.yml +++ b/inventory/host_vars/sk-testvm.yml @@ -57,7 +57,6 @@ kubelet_storage: fs: ext4 kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 100 kubernetes_standalone_pod_cidr: 192.168.255.0/24 diff --git a/inventory/host_vars/sk-tomnext-nc.yml b/inventory/host_vars/sk-tomnext-nc.yml index 9134993a..177224e2 100644 --- a/inventory/host_vars/sk-tomnext-nc.yml +++ b/inventory/host_vars/sk-tomnext-nc.yml @@ -89,7 +89,6 @@ kubelet_storage: quota: 15G kubernetes_version: 1.28.2 -kubernetes_cri_tools_pkg_version: 1.26.0-00 kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 15 kubernetes_standalone_cni_variant: with-portmap diff --git a/roles/kubernetes/base/defaults/main.yml b/roles/kubernetes/base/defaults/main.yml index 2b69fb5e..07a37504 100644 --- a/roles/kubernetes/base/defaults/main.yml +++ b/roles/kubernetes/base/defaults/main.yml @@ -1,4 +1,2 @@ --- -kubernetes_cri_tools_pkg_version: "{{ ([0, 1] | map('extract', kubernetes_version.split('.'))) | join('.') }}.0-00" - kubernetes_cri_sandbox_image: "registry.k8s.io/pause:3.9" diff --git a/roles/kubernetes/base/tasks/main.yml b/roles/kubernetes/base/tasks/main.yml index d2f7ef81..614f7685 100644 --- a/roles/kubernetes/base/tasks/main.yml +++ b/roles/kubernetes/base/tasks/main.yml @@ -20,27 +20,26 @@ include_role: name: apt-repo/kubernetes -- name: generate apt pin files for kubelet and cri-tools - loop: - - name: kubelet - version: "{{ kubernetes_version }}-00" - - name: cri-tools - version: "{{ kubernetes_cri_tools_pkg_version }}" - loop_control: - label: "{{ item.name }} == {{ item.version }}" +- name: generate apt pin file for kubelet copy: - dest: "/etc/apt/preferences.d/{{ item.name }}.pref" + dest: "/etc/apt/preferences.d/kubelet.pref" content: | - Package: {{ item.name }} - Pin: version {{ item.version }} + Package: kubelet + Pin: version {{ kubernetes_version }}-* Pin-Priority: 1001 +## TODO: remove once all servers have been converted +- name: remove apt pin file for cri-tools + file: + path: "/etc/apt/preferences.d/cri-tools.pref" + state: absent + - name: install kubelet and common packages apt: name: - bridge-utils - - "cri-tools={{ kubernetes_cri_tools_pkg_version }}" - - "kubelet={{ kubernetes_version }}-00" + - cri-tools + - "kubelet={{ kubernetes_version }}-*" state: present allow_downgrade: yes diff --git a/roles/kubernetes/kubeadm/base/tasks/main.yml b/roles/kubernetes/kubeadm/base/tasks/main.yml index e339fbcb..1e5ef920 100644 --- a/roles/kubernetes/kubeadm/base/tasks/main.yml +++ b/roles/kubernetes/kubeadm/base/tasks/main.yml @@ -7,7 +7,7 @@ dest: "/etc/apt/preferences.d/{{ item }}.pref" content: | Package: {{ item }} - Pin: version {{ kubernetes_version }}-00 + Pin: version {{ kubernetes_version }}-* Pin-Priority: 1001 - name: install kubeadm packages @@ -15,8 +15,8 @@ name: - haproxy - hatop - - "kubeadm={{ kubernetes_version }}-00" - - "kubectl={{ kubernetes_version }}-00" + - "kubeadm={{ kubernetes_version }}-*" + - "kubectl={{ kubernetes_version }}-*" state: present allow_downgrade: yes diff --git a/roles/kubernetes/kubeadm/upgrade b/roles/kubernetes/kubeadm/upgrade index 5328eefa..eb54ab17 100644 --- a/roles/kubernetes/kubeadm/upgrade +++ b/roles/kubernetes/kubeadm/upgrade @@ -8,8 +8,8 @@ VERSION=1.24.3 apt-get update -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubeadm.pref -apt-get install -y "kubeadm=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubeadm.pref +apt-get install -y "kubeadm=$VERSION-*" kubeadm version kubeadm upgrade plan @@ -17,9 +17,9 @@ kubectl drain $(hostname) --ignore-daemonsets --delete-emptydir-data kubeadm upgrade apply "v$VERSION" sed "s/^kubernetesVersion: .*$/kubernetesVersion: $VERSION/" -i /etc/kubernetes/kubeadm.config -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubelet.pref -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubectl.pref -apt-get update && apt-get install -y "kubelet=$VERSION-00" "kubectl=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubelet.pref +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubectl.pref +apt-get update && apt-get install -y "kubelet=$VERSION-*" "kubectl=$VERSION-*" // security updates + reboot ? @@ -32,14 +32,14 @@ secondary control-plane node: VERSION=1.24.3 apt-get update -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubeadm.pref -apt-get install -y "kubeadm=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubeadm.pref +apt-get install -y "kubeadm=$VERSION-*" kubectl drain $(hostname) --ignore-daemonsets --delete-emptydir-data kubeadm upgrade node -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubelet.pref -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubectl.pref -apt-get update && apt-get install -y kubelet="$VERSION-00" "kubectl=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubelet.pref +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubectl.pref +apt-get update && apt-get install -y kubelet="$VERSION-*" "kubectl=$VERSION-*" // security updates + reboot ? @@ -52,15 +52,15 @@ worker nodes: VERSION=1.24.3 apt-get update -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubeadm.pref -apt-get install -y "kubeadm=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubeadm.pref +apt-get install -y "kubeadm=$VERSION-*" @primary control-plane node: kubectl drain --ignore-daemonsets --delete-emptydir-data kubeadm upgrade node -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubelet.pref -sed "s/^Pin: version .*$/Pin: version $VERSION-00/" -i /etc/apt/preferences.d/kubectl.pref -apt-get update && apt-get install -y kubelet="$VERSION-00" "kubectl=$VERSION-00" +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubelet.pref +sed "s/^Pin: version .*$/Pin: version $VERSION-*/" -i /etc/apt/preferences.d/kubectl.pref +apt-get update && apt-get install -y kubelet="$VERSION-*" "kubectl=$VERSION-*" // security updates + reboot ? -- cgit v1.2.3