Post

CKS upgrade kubernetes

Step-by-step procedure for upgrading Kubernetes master and worker nodes, including draining, cordoning, and version management.

Kubernetes follows semantic versioning with major, minor, and patch components.

1
2
major    minor    patch
 1    .   24    .   0

Image

Upgrade Master Node procedure
  • drain and cordon (make it unschedulable) node
  • kubeadm
  • kube-apiserver
  • controller-manager
  • scheduler

then:

  • kubelet (can be -2 minor version behind kube-apiserver)
  • kube-proxy

Components same minor version as kube-apiserver

Upgrade Node procedure
  1. Safely evict all pods from the node. This command also marks the node as unschedulable (cordoned).
1
kubectl drain

Mark the node as SchedulingDisabled without evicting pods.

1
kubectl cordon
  1. Do the upgrade procedure …

  2. Unmark the node as SchedulingDisabled, allowing pods to be scheduled on it again.

1
kubectl uncordon
Notice
  • pod gracePeriod / Terminating state
  • pod Lifecycle Events
  • PodDisruptionBudget
This post is licensed under CC BY 4.0 by the author.