Back to all scenarios
Scenario #13
Cluster Management
K8s v1.21 → v1.23 upgrade, kubeadm
Failed Cluster Upgrade Due to Unready Static Pods
Upgrade failed when static control plane pods weren’t ready due to invalid manifests.
Find this helpful?
What Happened
During upgrade, etcd didn’t come up because its pod manifest had a typo. Kubelet never started etcd, causing control plane install to hang.
Diagnosis Steps
- 1Checked /etc/kubernetes/manifests/etcd.yaml for errors.
- 2Used journalctl -u kubelet to see static pod startup errors.
- 3Verified pod not running via crictl ps.
Root Cause
Human error editing the static pod manifest – invalid volumeMount path.
Fix/Workaround
• Fixed manifest.
• Restarted kubelet to load corrected pod.
Lessons Learned
Static pods need strict validation.
How to Avoid
- 1Use YAML linter on static manifests.
- 2Backup manifests before upgrade.