From 20b4aaba68eadc3bd9dcafb70314c9da103f23b6 Mon Sep 17 00:00:00 2001 From: Sam Culley Date: Thu, 31 Dec 2020 08:12:05 +0000 Subject: [PATCH] re-positioned drain/uncorden steps in kubeadm upgrade docs --- .../kubeadm/kubeadm-upgrade.md | 72 ++++++++++--------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index 3b79bff932..5124f25c6b 100644 --- a/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -47,7 +47,7 @@ The upgrade workflow at high level is the following: ## Determine which version to upgrade to -1. Find the latest stable 1.16 version: +- Find the latest stable 1.16 version: {{< tabs name="k8s_install_versions" >}} {{% tab name="Ubuntu, Debian or HypriotOS" %}} @@ -67,7 +67,7 @@ The upgrade workflow at high level is the following: ### Upgrade the first control plane node -1. On your first control plane node, upgrade kubeadm: +- On your first control plane node, upgrade kubeadm: {{< tabs name="k8s_install_kubeadm_first_cp" >}} {{% tab name="Ubuntu, Debian or HypriotOS" %}} @@ -82,19 +82,13 @@ The upgrade workflow at high level is the following: {{% /tab %}} {{< /tabs >}} -1. Verify that the download works and has the expected version: +- Verify that the download works and has the expected version: ```shell kubeadm version ``` -1. Drain the control plane node: - - ```shell - kubectl drain $MASTER --ignore-daemonsets - ``` - -1. On the control plane node, run: +- On the control plane node, run: ```shell sudo kubeadm upgrade plan @@ -141,7 +135,7 @@ The upgrade workflow at high level is the following: For more information see the [certificate management guide](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs). {{}} -1. Choose a version to upgrade to, and run the appropriate command. For example: +- Choose a version to upgrade to, and run the appropriate command. For example: ```shell sudo kubeadm upgrade apply v1.16.x @@ -229,7 +223,7 @@ The upgrade workflow at high level is the following: [upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so. ``` -1. Manually upgrade your CNI provider plugin. +- Manually upgrade your CNI provider plugin. Your Container Network Interface (CNI) provider may have its own upgrade instructions to follow. Check the [addons](/docs/concepts/cluster-administration/addons/) page to @@ -255,15 +249,9 @@ The upgrade workflow at high level is the following: "plugins": [ ... ``` -1. Uncordon the control plane node - - ```shell - kubectl uncordon $MASTER - ``` - ### Upgrade additional control plane nodes -1. Same as the first control plane node but use: +- Same as the first control plane node but use: ``` sudo kubeadm upgrade node @@ -281,9 +269,17 @@ Also `sudo kubeadm upgrade plan` is not needed. If you're using the kubeadm support for certificate management, please add `--certificate-renewal=true` to the `kubeadm upgrade node` command line. [bug issue](https://github.com/kubernetes/kubeadm/issues/1818) {{}} +### Drain the control plane node + +- Prepare the node for maintenance by marking it unschedulable and evicting the workloads: + + ```shell + kubectl drain $MASTER --ignore-daemonsets + ``` + ### Upgrade kubelet and kubectl -1. Upgrade the kubelet and kubectl on all control plane nodes: +- Upgrade the kubelet and kubectl on all control plane nodes: {{< tabs name="k8s_install_kubelet" >}} {{% tab name="Ubuntu, Debian or HypriotOS" %}} @@ -298,12 +294,20 @@ If you're using the kubeadm support for certificate management, please add `--ce {{% /tab %}} {{< /tabs >}} -1. Restart the kubelet +- Restart the kubelet ```shell sudo systemctl restart kubelet ``` +### Uncordon the control plane node + +- Bring the node back online by marking it schedulable: + + ```shell + kubectl uncordon $MASTER + ``` + ## Upgrade worker nodes The upgrade procedure on worker nodes should be executed one node at a time or few nodes at a time, @@ -311,7 +315,7 @@ without compromising the minimum required capacity for running your workloads. ### Upgrade kubeadm -1. Upgrade kubeadm on all worker nodes: +- Upgrade kubeadm on all worker nodes: {{< tabs name="k8s_install_kubeadm_worker_nodes" >}} {{% tab name="Ubuntu, Debian or HypriotOS" %}} @@ -326,9 +330,17 @@ without compromising the minimum required capacity for running your workloads. {{% /tab %}} {{< /tabs >}} +### Upgrade the kubelet configuration + +- Call the following command: + + ```shell + sudo kubeadm upgrade node + ``` + ### Drain the node -1. Prepare the node for maintenance by marking it unschedulable and evicting the workloads. Run: +- Prepare the node for maintenance by marking it unschedulable and evicting the workloads. Run: ```shell kubectl drain $NODE --ignore-daemonsets @@ -342,17 +354,9 @@ without compromising the minimum required capacity for running your workloads. node/ip-172-31-85-18 drained ``` -### Upgrade the kubelet configuration - -1. Call the following command: - - ```shell - sudo kubeadm upgrade node - ``` - ### Upgrade kubelet and kubectl -1. Upgrade the kubelet and kubectl on all worker nodes: +- Upgrade the kubelet and kubectl on all worker nodes: {{< tabs name="k8s_kubelet_and_kubectl" >}} {{% tab name="Ubuntu, Debian or HypriotOS" %}} @@ -367,7 +371,7 @@ without compromising the minimum required capacity for running your workloads. {{% /tab %}} {{< /tabs >}} -1. Restart the kubelet +- Restart the kubelet ```shell sudo systemctl restart kubelet @@ -375,7 +379,7 @@ without compromising the minimum required capacity for running your workloads. ### Uncordon the node -1. Bring the node back online by marking it schedulable: +- Bring the node back online by marking it schedulable: ```shell kubectl uncordon $NODE