5.2 Kubernetes Releases & Cluster Upgrade
1οΈβ£ Kubernetes Releases
Check Cluster Version
Example output:
- controlplane β v1.33.0
- worker nodes β v1.33.0
Note
Kubernetes follows Semantic Versioning: vMAJOR.MINOR.PATCH
Version Structure Explained
Example: v1.33.0
- Major (1) β Rare architectural changes
- Minor (33) β New features & enhancements
- Patch (0) β Bug fixes & security updates
Abstract
Minor releases introduce features.
Patch releases improve stability and security.
Release Lifecycle (Alpha β Beta β Stable)
Alpha
- Experimental
- Disabled by default
- Requires feature flag
- Not production ready
Beta
- Feature complete
- Enabled by default
- Suitable for controlled environments
Stable (GA)
- Fully tested
- Production ready
-
Officially supported
Warning
Never enable Alpha features in production clusters.
Support Policy (Very Important)
Kubernetes supports only the latest 3 minor versions.
Example:
If latest = 1.13
Supported = 1.13, 1.12, 1.11
Older versions become unsupported (EOL).
Danger
Running unsupported versions exposes clusters to security and stability risks.
Component Versioning Overview
Cluster version primarily reflects the control plane version.
Core components:
- kube-apiserver
- kube-scheduler
- controller-manager
- kubelet
- kube-proxy
- kubectl
Independent components:
- etcd
- CoreDNS
Note
Always verify compatible etcd and CoreDNS versions in release notes.
2οΈβ£ Version Skew Policy (Upgrade Safety Rule)
Kubernetes allows limited version differences between components to enable live upgrades.
If kube-apiserver = version X:
- controller-manager β X or X-1
- kube-scheduler β X or X-1
- kubelet β X-1 or X-2
- kube-proxy β X-1 or X-2
- kubectl β X-1, X, or X+1
Warning
No core component (except kubectl) can be higher than kube-apiserver.
Success
Version skew makes rolling upgrades possible without downtime.
3οΈβ£ Cluster Upgrade Strategy (Production)
Core Principles
Golden Rules
- Upgrade one minor version at a time
- Upgrade control plane first
- Upgrade worker nodes next
- Backup etcd before upgrading
- Read release notes carefully
Tip
Correct upgrade path: 1.11 β 1.12 β 1.13
Never skip minor versions.
What Happens During Control Plane Upgrade?
- API server briefly unavailable
- Worker nodes continue serving workloads
- Applications stay online
- No new deployments during upgrade window
Note
If a pod crashes during control plane downtime, it will not auto-heal until control plane is restored.
4οΈβ£ Worker Node Upgrade Approaches
β All Nodes at Once
- All workers upgraded together
- All workloads stop
- Downtime occurs
Danger
Not acceptable for production environments.
β Rolling Upgrade (Recommended)
Upgrade one node at a time:
- Drain node
- Upgrade node
- Restart kubelet
- Uncordon node
- Repeat
Workloads shift automatically to other nodes.
Success
Enables zero-downtime upgrades when replicas are configured properly.
β Blue/Green Node Replacement
- Add new nodes with new version
- Migrate workloads
- Remove old nodes
Best suited for cloud environments with autoscaling.
5οΈβ£ Kubeadm Upgrade Workflow
Step 1 β Backup etcd
Always take a snapshot before upgrading.
Step 2 β Upgrade kubeadm
Step 3 β Review Upgrade Plan
This shows:
- Current cluster version
- Target version
- Component compatibility
Step 4 β Upgrade Control Plane
Step 5 β Upgrade kubelet (Control Plane Node)
Verify:
Step 6 β Upgrade Worker Nodes (Rolling)
Drain:
Upgrade:
apt-get install -y kubeadm=<target-version>
apt-get install -y kubelet=<target-version>
kubeadm upgrade node
systemctl restart kubelet
Uncordon:
Repeat per node.
6οΈβ£ Production Best Practices
Recommended Practices
- Stay within supported versions
- Apply patch updates regularly
- Maintain N+1 cluster capacity
- Use PodDisruptionBudgets
- Monitor deprecated APIs
- Validate addons compatibility
- Test upgrades in staging first
- Monitor cluster health throughout upgrade
7οΈβ£ Production Do & Donβt
β DO
Tip
- Upgrade sequentially
- Validate after each phase
- Maintain rollback plan
- Monitor logs and metrics
- Document upgrade runbook
β DONβT
Danger
- Donβt skip minor versions
- Donβt upgrade all nodes at once
- Donβt ignore version skew rules
- Donβt enable Alpha features in production
- Donβt upgrade without etcd backup
8οΈβ£ Complete Upgrade Flow (Quick View)
Abstract
- Check version
- Verify support window
- Backup etcd
- Upgrade kubeadm
- kubeadm upgrade plan
- kubeadm upgrade apply
- Upgrade kubelet
- Rolling upgrade workers
- Validate workloads
π― Interview / Exam Memory
Question
- Semantic versioning: Major.Minor.Patch
- Only last 3 minor versions supported
- Upgrade one minor at a time
- Control plane first
- Respect version skew rules
- Rolling worker upgrades
Final Production Takeaway
Quote
Keep clusters within supported versions, upgrade sequentially, protect availability, and always plan upgrades β never rush them.