Upgrading nodes and their critical components
Simplifying the upgrade process is one of the key reasons for using managed node groups. If we want to upgrade a single worker node in an active cluster manually, we would need to perform the following actions:
- Add a new worker that can run the Pods that will be evicted from the node running the old version of the Kubernetes agents (kubelet, and so on) we are upgrading, if we want to maintain the overall cluster capacity (the overall number of worker nodes that can run active Pods) during the upgrade.
- Drain the Pods from the node we are working on and remove them from the scheduling process so that no new Pods are allocated.
- Upgrade the operating system binaries and apply patches if needed.
- Update and configure the Kubernetes agents (kubelet, and so on).
- Once the upgraded node has registered and is ready, add it back to the scheduler.
- Update any critical components such as
kube-proxy
,coreDNS
, and so on.