reformat kubeadm upgrade page
parent
991aadb64f
commit
8232eb30fe
|
@ -50,7 +50,7 @@ The upgrade workflow at high level is the following:
|
||||||
|
|
||||||
## Determine which version to upgrade to
|
## Determine which version to upgrade to
|
||||||
|
|
||||||
1. Find the latest stable 1.18 version:
|
Find the latest stable 1.18 version:
|
||||||
|
|
||||||
{{< tabs name="k8s_install_versions" >}}
|
{{< tabs name="k8s_install_versions" >}}
|
||||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||||
|
@ -70,7 +70,7 @@ The upgrade workflow at high level is the following:
|
||||||
|
|
||||||
### Upgrade the first control plane node
|
### 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" >}}
|
{{< tabs name="k8s_install_kubeadm_first_cp" >}}
|
||||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||||
|
@ -78,7 +78,7 @@ The upgrade workflow at high level is the following:
|
||||||
apt-mark unhold kubeadm && \
|
apt-mark unhold kubeadm && \
|
||||||
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
|
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
|
||||||
apt-mark hold kubeadm
|
apt-mark hold kubeadm
|
||||||
|
-
|
||||||
# since apt-get version 1.1 you can also use the following method
|
# since apt-get version 1.1 you can also use the following method
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
|
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
|
||||||
|
@ -89,20 +89,20 @@ The upgrade workflow at high level is the following:
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
1. Verify that the download works and has the expected version:
|
- Verify that the download works and has the expected version:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
kubeadm version
|
kubeadm version
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Drain the control plane node:
|
- Drain the control plane node:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# replace <cp-node-name> with the name of your control plane node
|
# replace <cp-node-name> with the name of your control plane node
|
||||||
kubectl drain <cp-node-name> --ignore-daemonsets
|
kubectl drain <cp-node-name> --ignore-daemonsets
|
||||||
```
|
```
|
||||||
|
|
||||||
1. On the control plane node, run:
|
- On the control plane node, run:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo kubeadm upgrade plan
|
sudo kubeadm upgrade plan
|
||||||
|
@ -148,10 +148,10 @@ The upgrade workflow at high level is the following:
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
`kubeadm upgrade` also automatically renews the certificates that it manages on this node.
|
`kubeadm upgrade` also automatically renews the certificates that it manages on this node.
|
||||||
To opt-out of certificate renewal the flag `--certificate-renewal=false` can be used.
|
To opt-out of certificate renewal the flag `--certificate-renewal=false` can be used.
|
||||||
For more information see the [certificate management guide](/docs/tasks/administer-cluster/kubeadm/kubeadm-certs).
|
For more information see the [certificate management guide](/docs/tasks/administer-cluster/kubeadmkubeadm-certs).
|
||||||
{{</ note >}}
|
{{</ note >}}
|
||||||
|
|
||||||
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
|
```shell
|
||||||
# replace x with the patch version you picked for this upgrade
|
# replace x with the patch version you picked for this upgrade
|
||||||
|
@ -240,7 +240,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.
|
[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.
|
Your Container Network Interface (CNI) provider may have its own upgrade instructions to follow.
|
||||||
Check the [addons](/docs/concepts/cluster-administration/addons/) page to
|
Check the [addons](/docs/concepts/cluster-administration/addons/) page to
|
||||||
|
@ -248,7 +248,7 @@ The upgrade workflow at high level is the following:
|
||||||
|
|
||||||
This step is not required on additional control plane nodes if the CNI provider runs as a DaemonSet.
|
This step is not required on additional control plane nodes if the CNI provider runs as a DaemonSet.
|
||||||
|
|
||||||
1. Uncordon the control plane node:
|
- Uncordon the control plane node:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# replace <cp-node-name> with the name of your control plane node
|
# replace <cp-node-name> with the name of your control plane node
|
||||||
|
@ -257,7 +257,7 @@ The upgrade workflow at high level is the following:
|
||||||
|
|
||||||
### Upgrade additional control plane nodes
|
### 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
|
sudo kubeadm upgrade node
|
||||||
|
@ -273,7 +273,7 @@ The upgrade workflow at high level is the following:
|
||||||
|
|
||||||
### Upgrade kubelet and kubectl
|
### 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" >}}
|
{{< tabs name="k8s_install_kubelet" >}}
|
||||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||||
|
@ -281,7 +281,7 @@ The upgrade workflow at high level is the following:
|
||||||
apt-mark unhold kubelet kubectl && \
|
apt-mark unhold kubelet kubectl && \
|
||||||
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
|
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
|
||||||
apt-mark hold kubelet kubectl
|
apt-mark hold kubelet kubectl
|
||||||
|
-
|
||||||
# since apt-get version 1.1 you can also use the following method
|
# since apt-get version 1.1 you can also use the following method
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
|
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
|
||||||
|
@ -292,7 +292,7 @@ The upgrade workflow at high level is the following:
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
1. Restart the kubelet
|
Restart the kubelet
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo systemctl restart kubelet
|
sudo systemctl restart kubelet
|
||||||
|
@ -305,7 +305,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
|
|
||||||
### Upgrade kubeadm
|
### Upgrade kubeadm
|
||||||
|
|
||||||
1. Upgrade kubeadm on all worker nodes:
|
- Upgrade kubeadm on all worker nodes:
|
||||||
|
|
||||||
{{< tabs name="k8s_install_kubeadm_worker_nodes" >}}
|
{{< tabs name="k8s_install_kubeadm_worker_nodes" >}}
|
||||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||||
|
@ -313,7 +313,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
apt-mark unhold kubeadm && \
|
apt-mark unhold kubeadm && \
|
||||||
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
|
apt-get update && apt-get install -y kubeadm=1.18.x-00 && \
|
||||||
apt-mark hold kubeadm
|
apt-mark hold kubeadm
|
||||||
|
-
|
||||||
# since apt-get version 1.1 you can also use the following method
|
# since apt-get version 1.1 you can also use the following method
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
|
apt-get install -y --allow-change-held-packages kubeadm=1.18.x-00
|
||||||
|
@ -326,7 +326,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
|
|
||||||
### Drain the node
|
### Drain the node
|
||||||
|
|
||||||
1. Prepare the node for maintenance by marking it unschedulable and evicting the workloads:
|
- Prepare the node for maintenance by marking it unschedulable and evicting the workloads:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# replace <node-to-drain> with the name of your node you are draining
|
# replace <node-to-drain> with the name of your node you are draining
|
||||||
|
@ -343,7 +343,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
|
|
||||||
### Upgrade the kubelet configuration
|
### Upgrade the kubelet configuration
|
||||||
|
|
||||||
1. Call the following command:
|
- Call the following command:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo kubeadm upgrade node
|
sudo kubeadm upgrade node
|
||||||
|
@ -351,7 +351,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
|
|
||||||
### Upgrade kubelet and kubectl
|
### 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" >}}
|
{{< tabs name="k8s_kubelet_and_kubectl" >}}
|
||||||
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
|
||||||
|
@ -359,7 +359,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
apt-mark unhold kubelet kubectl && \
|
apt-mark unhold kubelet kubectl && \
|
||||||
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
|
apt-get update && apt-get install -y kubelet=1.18.x-00 kubectl=1.18.x-00 && \
|
||||||
apt-mark hold kubelet kubectl
|
apt-mark hold kubelet kubectl
|
||||||
|
-
|
||||||
# since apt-get version 1.1 you can also use the following method
|
# since apt-get version 1.1 you can also use the following method
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
|
apt-get install -y --allow-change-held-packages kubelet=1.18.x-00 kubectl=1.18.x-00
|
||||||
|
@ -370,7 +370,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
1. Restart the kubelet
|
- Restart the kubelet
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo systemctl restart kubelet
|
sudo systemctl restart kubelet
|
||||||
|
@ -378,7 +378,7 @@ without compromising the minimum required capacity for running your workloads.
|
||||||
|
|
||||||
### Uncordon the node
|
### Uncordon the node
|
||||||
|
|
||||||
1. Bring the node back online by marking it schedulable:
|
- Bring the node back online by marking it schedulable:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# replace <node-to-drain> with the name of your node
|
# replace <node-to-drain> with the name of your node
|
||||||
|
|
Loading…
Reference in New Issue