CKA — Verify Upgrade

1 minute read

Post-Upgrade Verification

After upgrading all nodes, run these checks to confirm the cluster is healthy.

Check Node Versions

kubectl get nodes

All nodes should show the target version:

NAME           STATUS   ROLES           AGE   VERSION
controlplane   Ready    control-plane   30d   v1.30.0
worker01       Ready    <none>          30d   v1.30.0
worker02       Ready    <none>          30d   v1.30.0

Check System Pods

kubectl get pods -n kube-system

All Pods should be Running. Pay special attention to:

  • kube-apiserver
  • etcd
  • kube-scheduler
  • kube-controller-manager
  • coredns
  • kube-proxy

Check Component Versions

# API server version
kubectl version

# kubelet version on each node
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}: {.status.nodeInfo.kubeletVersion}{"\n"}{end}'

Check Application Health

# Verify all deployments are available
kubectl get deployments -A

# Check for any unhealthy pods
kubectl get pods -A | grep -v Running | grep -v Completed

Common Upgrade Issues

Issue Cause Fix
kubeadm upgrade plan fails kubeadm binary not yet upgraded Upgrade kubeadm binary first
Node still shows old version kubelet not yet upgraded Install new kubelet and restart
Pods not rescheduled after drain No other nodes available Add more nodes or uncordon another first
cannot evict pod error PodDisruptionBudget blocks eviction Check PDB, scale up, then retry
kubelet won’t start Config mismatch Run kubeadm upgrade node on worker

Rollback Considerations

Kubernetes does not officially support rolling back kubeadm upgrades. If an upgrade fails:

  1. etcd backup — Restore from backup taken before upgrade (see etcd Backup & Restore)
  2. Component manifests — Revert static Pod manifests to previous versions
  3. Downgrade binaries — Install previous version of kubeadm, kubelet, kubectl
  4. Re-initialize — In worst case, kubeadm reset and rebuild

Best practice: Always take an etcd backup before upgrading and test upgrades in a non-production environment first.


Next: Hands-On Lab ->

Updated: