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
No related branches found
No related tags found
No related merge requests found
...@@ -20,15 +20,24 @@ stringData: ...@@ -20,15 +20,24 @@ stringData:
set -x set -x
secrets="$(dirname "$0")" secrets="$(dirname "$0")"
systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes-kubeadm systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes-kubeadm
kubeadm upgrade apply --yes if [ "$1" = "first" ]; then
systemd-run --same-dir --wait --collect --service-type=exec dnf upgrade -y kubernetes-kubeadm 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: | upgrade.sh: |
#!/bin/bash #!/bin/bash
set -e set -e
set -x set -x
secrets="$(dirname "$0")" secrets="/run/system-upgrade/secrets/"
source "$secrets/setup-copr.sh" chroot /host sh "$secrets/setup-copr.sh"
source "$secrets/kubernetes-upgrade.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 apiVersion: upgrade.cattle.io/v1
kind: Plan kind: Plan
...@@ -58,5 +67,4 @@ spec: ...@@ -58,5 +67,4 @@ spec:
version: "1.0" version: "1.0"
upgrade: upgrade:
image: docker.io/library/fedora:35 image: docker.io/library/fedora:35
command: ["chroot", "/host"] command: ["sh", "/host/run/system-upgrade/secrets/kubernetes-upgrade/upgrade.sh"]
args: ["sh", "/run/system-upgrade/secrets/kubernetes-upgrade/upgrade.sh"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment