Key Concepts
Upgrade Check
Impact Analysis
Rolling Upgrade
Selective Upgrade
Required Permissions
Version Upgrade Rules
Kubernetes enforces strict version upgrade paths:v1.28.5→v1.28.10(patch upgrade)v1.28.5→v1.29.0(minor upgrade)
v1.28.5→v1.30.0(skips 1.29)v1.29.0→v1.28.5(downgrade)
Upgradeable Components
How to Set Target Versions
Open Cluster Settings
Configure Target Versions
- Kubernetes version
- containerd version (optional)
- CNI plugin version (optional)
- Metrics server version (optional)
Save Configuration
How to Run Upgrade Check
Upgrade check validates prerequisites before upgrade.Open Upgrade Page
Click Upgrade Check
Review Results
- Target version availability in package repositories
- SSH connectivity to all nodes
- Node readiness status
How to View Upgrade Impact
Impact analysis assesses risk and identifies potential issues.Open Upgrade Page
View Impact Analysis
- Current vs target version comparison
- Cluster health status
- Node readiness details
- Affected workload count
- Risk level assessment
- Recommendations
Address Issues
Pre-Upgrade Requirements
The upgrade will be blocked if these conditions are not met:Risk Levels
How to Upgrade a Cluster
Run Upgrade Check
Review Impact Analysis
Create etcd Backup
Start Upgrade
Monitor Progress
Upgrade Process
The platform follows this sequence:- Master nodes first - Control plane upgraded before workers
- For each node:
- Cordon (mark unschedulable)
- Drain (evict pods)
- Upgrade kubeadm, kubelet, kubectl
- Upgrade containerd (if configured)
- Uncordon (allow scheduling)
- Wait for node Ready
kubeadm upgrade apply. Subsequent nodes run kubeadm upgrade node.How to Upgrade Selective Nodes
Upgrade specific nodes instead of the entire cluster.Open Upgrade Page
Select Nodes
Configure Options
- Batch size - Number of nodes to upgrade in parallel
- Node order - Masters first, workers first, or as listed
Start Selective Upgrade
Troubleshooting
Upgrade check fails with version not found
Upgrade check fails with version not found
- Verify the target version exists in Kubernetes apt repository
- Check that the version format is correct (e.g.,
1.29.0notv1.29) - Ensure nodes have internet access to download packages
Cannot upgrade: invalid version path
Cannot upgrade: invalid version path
- You cannot skip minor versions - upgrade one minor version at a time
- Example: From 1.27.x, upgrade to 1.28.x first, then 1.29.x
Upgrade blocked due to node not ready
Upgrade blocked due to node not ready
- Check kubelet status on the affected node
- Verify network connectivity to control plane
- Review node conditions for pressure (memory, disk, PID)
Upgrade fails during drain
Upgrade fails during drain
- Some pods may have PodDisruptionBudgets preventing eviction
- Pods with local storage may not drain without force
- Review drain logs for specific pod failures
Node not coming back after upgrade
Node not coming back after upgrade
- SSH to the node and check kubelet status
- Verify kubelet and containerd are running
- Check kubelet logs for certificate or connectivity errors
- Ensure firewall allows required ports
Cluster unreachable after control plane upgrade
Cluster unreachable after control plane upgrade
- Wait for API server to restart (may take a few minutes)
- Check API server pod status in kube-system
- Verify kubeconfig credentials are still valid
- Check etcd health
FAQ
How long does an upgrade take?
How long does an upgrade take?
Is there downtime during upgrade?
Is there downtime during upgrade?
Can I rollback an upgrade?
Can I rollback an upgrade?
Should I upgrade containerd with Kubernetes?
Should I upgrade containerd with Kubernetes?
What about CNI plugin upgrades?
What about CNI plugin upgrades?
How do I handle a failed mid-upgrade?
How do I handle a failed mid-upgrade?
Can I upgrade a single-master cluster?
Can I upgrade a single-master cluster?
Best Practices
- Test in non-production first - Upgrade staging clusters before production
- Create etcd backup - Always backup before upgrading
- Check release notes - Review Kubernetes changelog for breaking changes
- Plan maintenance window - Schedule upgrades during low-traffic periods
- Monitor after upgrade - Verify application health after completion
- Keep versions current - Don’t fall too far behind; smaller jumps are safer