From 769dc9a22086b960e7aa622e6adbb5ed52120f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= <valtri@civ.zcu.cz> Date: Wed, 20 Mar 2024 14:34:44 +0000 Subject: [PATCH] Kubernetes upgrade playbook --- cesnet-central/playbooks/upgrade.yaml | 82 +++++++++++++++++++++++++++ cesnet-mcc/playbooks/upgrade.yaml | 1 + 2 files changed, 83 insertions(+) create mode 100644 cesnet-central/playbooks/upgrade.yaml create mode 120000 cesnet-mcc/playbooks/upgrade.yaml diff --git a/cesnet-central/playbooks/upgrade.yaml b/cesnet-central/playbooks/upgrade.yaml new file mode 100644 index 0000000..79e2c3b --- /dev/null +++ b/cesnet-central/playbooks/upgrade.yaml @@ -0,0 +1,82 @@ +--- +# +# Upgrade kubernetes cluster +# +# https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/ +# +# Usage example: +# +# VERSION=1.28.8 +# ansible-playbook playbooks/upgrade.yaml --extra-vars "version=$VERSION" +# +- name: Upgrade and hold kubeadm package + hosts: master,ingress,nfs,worker,gpu + become: true + tasks: + - name: Upgrade packages + apt: + name: kubeadm={{ version }}* + state: present + force: true + update_cache: true + - name: Hold packages + dpkg_selections: + name: "{{ item }}" + selection: hold + loop: + - kubeadm + +- name: Upgrade k8s master + hosts: master + become: true + tasks: + - name: Upgrade kubeadm + command: | + kubeadm upgrade apply --yes v{{ version }} + when: true + +- name: Upgrade k8s nodes + hosts: ingress,nfs,worker,gpu + become: true + tasks: + - name: Upgrade kubeadm + command: | + kubeadm upgrade node + when: true + +- name: Upgrade and hold packages + hosts: master,ingress,nfs,worker,gpu + become: true + tasks: + - name: Upgrade packages + apt: + name: kubectl={{ version }}*, kubelet={{ version }}* + state: present + force: true + update_cache: true + - name: Hold packages + dpkg_selections: + name: "{{ item }}" + selection: hold + loop: + - kubectl + - kubelet + - name: Restart kubelet + systemd: + state: restarted + name: kubelet + +# pinned by grycap.kubernetes +# - name: Upgrade networking +# hosts: master +# become: true +# tasks: +# - name: Upgrade weave +# shell: | +# set -o pipefail +# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" +# environment: +# KUBECONFIG: /etc/kubernetes/admin.conf +# args: +# executable: /bin/bash +# when: true diff --git a/cesnet-mcc/playbooks/upgrade.yaml b/cesnet-mcc/playbooks/upgrade.yaml new file mode 120000 index 0000000..3a00425 --- /dev/null +++ b/cesnet-mcc/playbooks/upgrade.yaml @@ -0,0 +1 @@ +/home/valtri/notebooks-operations.eosc/cesnet-central/playbooks/upgrade.yaml \ No newline at end of file -- GitLab