Back to all scenarios
Scenario #16
Cluster Management
K8s v1.23, self-hosted control plane

CrashLoop of Kube-Controller-Manager on Boot

Controller-manager crashed on startup due to outdated admission controller configuration.

Find this helpful?
What Happened

After an upgrade, the --enable-admission-plugins flag included a deprecated plugin, causing crash.

Diagnosis Steps
  • 1Checked pod logs in /var/log/pods/.
  • 2Saw panic error: “unknown admission plugin”.
  • 3Compared plugin list with K8s documentation.
Root Cause

Version mismatch between config and actual controller-manager binary.

Fix/Workaround
• Removed the deprecated plugin from startup flags.
• Restarted pod.
Lessons Learned

Admission plugin deprecations are silent but fatal.

How to Avoid
  • 1Track deprecations in each Kubernetes version.
  • 2Automate validation of startup flags.