summaryrefslogtreecommitdiff
path: root/roles/kubernetes
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-02-07 00:47:09 +0100
committerChristian Pointner <equinox@spreadspace.org>2021-02-07 00:47:09 +0100
commit9eb937a5ceb95c6c5241ed10e57b566a58f002b7 (patch)
tree3b11549681098fbedace66d3eeebd905ee3604dc /roles/kubernetes
parentincrease root disks size for ch-(calypso|telesto|k8s-master) (diff)
add simple kubernetes cluster upgrade doc
Diffstat (limited to 'roles/kubernetes')
-rw-r--r--roles/kubernetes/kubeadm/upgrade57
1 files changed, 57 insertions, 0 deletions
diff --git a/roles/kubernetes/kubeadm/upgrade b/roles/kubernetes/kubeadm/upgrade
new file mode 100644
index 00000000..dc0a360a
--- /dev/null
+++ b/roles/kubernetes/kubeadm/upgrade
@@ -0,0 +1,57 @@
+Cluster Upgrades:
+=================
+
+primary master:
+---------------
+
+VERSION=1.20.2
+
+apt-get update
+apt-get install -y --allow-change-held-packages "kubeadm=$VERSION-00" && apt-mark hold kubeadm
+kubeadm version
+kubeadm upgrade plan
+
+kubectl drain $(hostname) --ignore-daemonsets --delete-local-data
+kubeadm upgrade apply "v$VERSION"
+
+sed "s/^kubernetesVersion: .*$/kubernetesVersion: $VERSION/" -i /etc/kubernetes/kubeadm.config
+apt-get update && apt-get install -y --allow-change-held-packages "kubelet=$VERSION-00" "kubectl=$VERSION-00" && apt-mark hold kubelet kubectl
+
+// security updates + reboot ?
+
+kubectl uncordon $(hostname)
+
+
+secondary master:
+-----------------
+
+VERSION=1.20.2
+
+apt-get update
+apt-get install -y --allow-change-held-packages "kubeadm=$VERSION-00" && apt-mark hold kubeadm
+
+kubectl drain $(hostname) --ignore-daemonsets --delete-local-data
+kubeadm upgrade node
+apt-mark unhold kubelet kubectl && apt-get update && apt-get install -y kubelet="$VERSION-00" "kubectl=$VERSION-00" && apt-mark hold kubelet kubectl
+
+// security updates + reboot ?
+
+kubectl uncordon $(hostname)
+
+
+worker nodes:
+-------------
+
+VERSION=1.20.2
+
+apt-get update
+apt-get install -y --allow-change-held-packages "kubeadm=$VERSION-00" && apt-mark hold kubeadm
+
+@primary master: kubectl drain <node> --ignore-daemonsets --delete-local-data
+
+kubeadm upgrade node
+apt-mark unhold kubelet kubectl && apt-get update && apt-get install -y kubelet="$VERSION-00" "kubectl=$VERSION-00" && apt-mark hold kubelet kubectl
+
+// security updates + reboot ?
+
+@primary master: kubectl uncordon <node>