Book Consultation Submit Ticket

Linux SRE Production Troubleshooting Runbook: Kubernetes Node NotReady

A comprehensive runbook for SRE teams dealing with Linux production issues, focusing on Kubernetes node failures. Covers symptoms, diagnosis, commands, risk controls, rollback, verification, and when to escalate to OpsGlobal.

Linux SRE Production Troubleshooting Runbook: Kubernetes Node NotReady
DevOps 6min 47 views 2026-07-10
KubernetesSRELinuxTroubleshooting

Scenario

A node in a production Kubernetes cluster becomes NotReady, causing workloads to be evicted or unschedulable.

Symptoms

  • Node status shows NotReady via kubectl get nodes
  • kubelet logs errors: journalctl -u kubelet -f shows timeouts or out-of-resource
  • High CPU/memory usage on the node (check with top, free -h, df -h)
  • Pods on the node are in Pending or Unknown state

Diagnosis

  1. Check node status: kubectl get nodes -o wide
  2. Describe node: kubectl describe node <node-name> for events and conditions
  3. Examine kubelet logs: journalctl -u kubelet --since "10 min ago"
  4. System resources: top, htop, free -m, df -h, iostat -x
  5. Container runtime: crictl ps or docker ps
  6. Network plugin: kubectl get pods -n kube-system to check CNI pods

Key Commands

# Node health
kubectl get nodes
kubectl describe node <node-name>
kubectl get pods --all-namespaces -o wide | grep <node-name>

# System resources
top -c -o %CPU
free -h
vmstat 1 5

# kubelet logs
journalctl -u kubelet --no-pager -n 100

# Restart kubelet (risky)
systemctl restart kubelet

# Drain node (caution)
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data

Risk Controls

  • Identify if the node is a master – never drain or restart kubelet on master nodes without explicit approval, as it may destabilize the control plane.
  • Maintain out-of-band access (IPMI, BMC) in case SSH is lost.
  • Ensure recent backups or snapshots of critical data.
  • Before draining, assess workload impact and avoid peak hours.

Rollback Steps

If the issue stems from a recent change (e.g., config update): 1. Roll back kubelet config: systemctl stop kubelet; cp /etc/kubernetes/kubelet.conf.bak /etc/kubernetes/kubelet.conf; systemctl start kubelet 2. If restarting kubelet doesn't help, consider resource cleanup (remove stale logs, temp files) or scaling up resources. 3. As last resort, reboot the node: reboot (data loss risk).

Verification

  • Node status becomes Ready: kubectl get nodes
  • Evicted pods reschedule: kubectl get pods -o wide
  • kubelet logs show no further errors
  • Application monitoring recovers

When to Submit an OpsGlobal Ticket

  • Node remains NotReady after all self-service steps (including kubelet restart and node reboot)
  • Hardware issues suspected (disk failure, memory errors)
  • Data corruption or security incident
  • Need for infrastructure team to replace or scale node

Use cases

Useful for teams handling DevOps issues and needing a clear troubleshooting and delivery workflow.

Problem background

A comprehensive runbook for SRE teams dealing with Linux production issues, focusing on Kubernetes node failures. Covers symptoms, diagnosis, commands, risk controls, rollback, verification, and when to escalate to OpsGlobal.

Troubleshooting steps

Confirm impact and recent changes, collect logs, configuration and metrics, then apply fixes from low to high risk.

Command examples

Replace sample resource names with real values and store passwords, tokens and keys in environment variables.

Risks

Before production changes, confirm backups, access boundaries, change windows and rollback paths.

Rollback plan

Keep original configuration and release versions; roll back config, images or database changes if metrics degrade.

Deliverables

Root-cause notes, key commands, remediation steps, verification results and follow-up recommendations.

!

Need help with a similar technical issue?

If your servers, Kubernetes, Docker, CI/CD, databases or monitoring systems have similar issues, submit logs and config files for remote diagnosis.

Ticket Contact on WhatsApp Consult