Skip to content
Snippets Groups Projects
Verified Commit 175f3a03 authored by Sheogorath's avatar Sheogorath :european_castle:
Browse files

fix(system-upgrade): Repair kubernetes upgrade automation

First of all, `kubeadm upgrade apply` shall only be used on the first
controlplane node. Therefore it'll check if another node controlplane
node is already upgraded.

Second we fixed the order, so that the kubelet is upgraded after the
node, and restarted after the update is installed.
parent f9aa2679
Branches
Tags
No related merge requests found
......@@ -20,15 +20,24 @@ stringData:
set -x
secrets="$(dirname "$0")"
systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes-kubeadm
kubeadm upgrade apply --yes
systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes-kubeadm
if [ "$1" = "first" ]; then
kubeadm upgrade apply --yes "$(kubeadm version -o short)"
else
kubeadm upgrade node
fi
systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes
systemctl restart kubelet.service
upgrade.sh: |
#!/bin/bash
set -e
set -x
secrets="$(dirname "$0")"
source "$secrets/setup-copr.sh"
source "$secrets/kubernetes-upgrade.sh"
secrets="/run/system-upgrade/secrets/"
chroot /host sh "$secrets/setup-copr.sh"
if ! /host/usr/bin/kubectl get pods -n kube-system -o yaml | grep kube-apiserver:v1.21.10; then
chroot /host sh "$secrets/kubernetes-upgrade.sh" "first"
else
chroot /host sh "$secrets/kubernetes-upgrade.sh"
fi
---
apiVersion: upgrade.cattle.io/v1
kind: Plan
......@@ -58,5 +67,4 @@ spec:
version: "1.0"
upgrade:
image: docker.io/library/fedora:35
command: ["chroot", "/host"]
args: ["sh", "/run/system-upgrade/secrets/kubernetes-upgrade/upgrade.sh"]
command: ["sh", "/host/run/system-upgrade/secrets/kubernetes-upgrade/upgrade.sh"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment