64 lines
900 B
Markdown
64 lines
900 B
Markdown
# Cluster Upgrade
|
|
|
|
## Versions
|
|
|
|
`vMajor.Minor.Patch` semantic versioning
|
|
|
|
K8S compatibility is as follow : current and n-2 version are supported.
|
|
|
|
**Always upgrade minor to minor releases**.
|
|
|
|
## kubeadm
|
|
|
|
### Check latest/upgradable version
|
|
|
|
```shell
|
|
kubeadm upgrade plan
|
|
```
|
|
|
|
## Master node upgrade
|
|
|
|
### Drain and mark it at Unschedulable
|
|
|
|
```shell
|
|
kubectl drain master
|
|
```
|
|
|
|
`kubectl get nodes` to verify that master node is unschedulable
|
|
|
|
### kubeadm update
|
|
|
|
```shell
|
|
apt install kubeadm=X.Y.Z-00
|
|
```
|
|
|
|
`kubeadm version` to ensure version number
|
|
|
|
### Node update
|
|
|
|
```shell
|
|
kubeadm upgrade apply vX.Y.Z
|
|
```
|
|
|
|
`kubectl version` to validate
|
|
|
|
### Update kubelet
|
|
|
|
```shell
|
|
apt install kubelet=X.Y.Z-00
|
|
```
|
|
|
|
`kubectl get nodes` to validate
|
|
|
|
### Mark master node as schedulable
|
|
|
|
```shell
|
|
kubectl uncordon master
|
|
```
|
|
|
|
## Worker nodes upgrade
|
|
|
|
Repeat the same actions done on master for each worker node
|
|
|
|
🎉
|