Kubernetes Cluster Upgrade Process
Contents
Kubernetes Core Components Versioning Rule
| Component | Versioning Rule | Example |
|---|---|---|
| kube-apiserver | X | v1.10 |
| kube-scheduler | X-1 | v1.9 or v1.10 |
| kubelet | X-2 | v1.8 or v1.9 or v.110 |
| kube-proxy | X-2 | v1.8 or v1.9 or v.110 |
| kubectl | X+1 > X-1 | v1.10 |
Kubernetes Supported Versions
Versions
Kubernetes support recent 3 minor versions.
| Version | Whether to Support |
|---|---|
| v1.10 | Un-Supported |
| v1.11 | Un-Supported |
| v1.12 | Supported |
| v1.13 | Supported |
| v1.14 | Supported |
Upgrade Recommendation Process
Recommendation
Kubernetes recommend upgrading to one minor up version at a time.
At this time, let’s assume v1.10 to v1.14
At this time, let’s assume v1.10 to v1.14
First(v1.10 -> v1.11)
Second(v1.11 -> v1.12)
Third(v1.12 -> v1.13)
Fourth(v1.13 -> v1.14)
Upgrade Methods
Cloud Services
Note
You just need few clicks.
Use kubeadm
| |
| |
The Hard Way
Note
This means, manual upgrade.
Upgrade with kubeadm
Strategy
Common
All strategies is to upgrade Master Node first.
At Once
After upgrading Master Node, upgrade all Worker Nodes at once.
Each Worker Node
After upgrading Master Node, upgrade A Worker Node at a time.
Replace Worker Node
After upgrading Master Node, create A New Worker Node and exchange with exist A Old Version Worker Node.
Upgrade Process
Upgrade Process
Check this official document
Check Token
| |
Check OS
| |
Version Current Check
| |
Find Upgrade Version Using OS Package Manager
Ubuntu
| |
CentOS
| |
Upgrade kubeadm
Using OS Package Manager
Ubuntu
| |
CentOS
| |
Check kubeadm Version
| |
Check kubeadm Upgrade Plan
| |
Apply Upgrade kubeadm
| |
drain Node
| |
Upgrade kubelet and kubectl
Using OS Package Manager
Ubuntu
| |
CentOS
| |
Restart kubelet
| |
uncordon Node
| |
Simple Process
drain Node
| |
Check Upgrade Plan
| |
Upgrade kubeadm
| |
Apply kubeadm
| |
Check Nodes
| |
Upgrade kubelet Component
| |
Restart kubelet Component
| |
uncordon Node
| |
CozyFex