Node NotReady at 2AM: A Recovery Walkthrough
A node went NotReady at 2AM. Triage kubelet, disk pressure, and network partitions, then decide when to cordon, drain, or wait.
Read the postA node went NotReady at 2AM. Triage kubelet, disk pressure, and network partitions, then decide when to cordon, drain, or wait.
Read the postImagePullBackOff has four real causes: bad tags, registry auth, rate limits, and network. Learn to read the pull error and fix the right one.
Read the postIn-cluster DNS failing while your laptop resolves fine? Debug ndots:5 query amplification, the UDP conntrack race, CoreDNS health, and scaling, step by step.
Read the postPods stuck in ContainerCreating, cryptic CNI errors, and a /24 subnet with zero free IPs. A war story about why 'just staging' still needs capacity planning.
Read the postA deep dive into kube-scheduler internals: filtering vs scoring, topology spread math, PriorityClass preemption, scheduler profiles, and why the descheduler exists.
Read the postkubectl apply says 'configured' and you believe it. Here's why declared YAML and real cluster state drift apart, and how to actually close the loop.
Read the postHow GKE Autopilot actually works under the abstraction: per-pod billing vs node provisioning, compute classes, upgrade mechanics, and where it quietly costs 2x.
Read the postInstalling ArgoCD doesn't make you a GitOps shop. Here's why the tool changes nothing until the team agrees to stop running kubectl apply from their laptops.
Read the postENI slot math, /28 prefix delegation, warm pool tuning, and the failure modes that page you at 2 AM — an operator's guide to EKS pod networking.
Read the postAn opinionated EKS vs AKS vs GKE comparison for teams running 10+ production clusters: pricing, forced upgrades, quota friction, and multi-cluster tooling.
Read the post