πŸ“– ~1 min read

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

kubelet fails to remain active and node reports NotReady. Pods cannot schedule or restart, causing service degradation in Ubuntu 22.04 Kubernetes workers.

Environment & Reproduction

Ubuntu 22.04 LTS with containerd runtime and kubelet configured via kubeadm. Reproduce by setting kubelet to systemd while runtime uses cgroupfs, or vice versa.

Root Cause Analysis

Kubernetes expects kubelet and runtime cgroup drivers to match. Mismatch causes runtime API errors and kubelet startup instability during node initialization.

Quick Triage

Check kubelet status and recent logs, then verify runtime cgroup configuration before restarting cluster services repeatedly.

Step-by-Step Diagnosis

Inspect kubelet config YAML and containerd config.toml for driver values, then compare with runtime process arguments and node events.

Illustrative mockup for ubuntu-22-04-lts β€” kubelet_cgroup_mismatch
kubelet startup error due to container runtime cgroup mismatch β€” Illustrative mockup β€” Progressive Robot

Solution – Primary Fix

Set both kubelet and containerd to systemd cgroup driver on Ubuntu 22.04, restart services in order, and confirm node transitions to Ready.

Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.

Illustrative mockup for ubuntu-22-04-lts β€” kubelet_systemd_cgroup_fix
kubelet and runtime aligned on systemd cgroup driver β€” Illustrative mockup β€” Progressive Robot

Solution – Alternative Approaches

Recreate node with consistent bootstrap configuration, use kubeadm config file standards, or pin compatible Kubernetes/containerd versions for stable defaults.

Verification & Acceptance Criteria

kubelet service remains active, node status is Ready, and pods schedule successfully without recurring cgroup-related warnings.

Rollback Plan

Restore previous runtime config backup, restart services, and cordon node if instability persists while performing controlled remediation.

Prevention & Hardening

Template kubelet and runtime configs, enforce drift detection, and validate cgroup driver consistency in cluster conformance tests.

Related to swap not disabled for kubelet policy, container runtime socket misconfiguration, and mismatched kubelet flags after upgrades.

Related tutorial: View the step-by-step tutorial for Ubuntu 22.04 LTS.

View all Ubuntu 22.04 LTS tutorials on the Tutorials Hub β†’

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Consult Kubernetes setup docs for Ubuntu, containerd configuration guides, and manuals for kubelet and crictl diagnostics.

Need Expert Help?

If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today β€” we respond within one business day.