How to Configure Pod Disruption Budgets in Kubernetes
A complete walkthrough setting PodDisruptionBudgets so voluntary disruptions — node drains, cluster upgrades — never take down more replicas of a service than it can actually tolerate at once.
tag
22 posts
A complete walkthrough setting PodDisruptionBudgets so voluntary disruptions — node drains, cluster upgrades — never take down more replicas of a service than it can actually tolerate at once.
A complete walkthrough using Flagger to automate a canary rollout that promotes or rolls back based on real metrics — no human needing to watch a dashboard and decide manually.
A complete walkthrough deploying Fluent Bit, Elasticsearch, and Kibana to collect and search logs from every pod in a cluster — one place to look instead of kubectl logs against dozens of pods individually.
A container gets killed repeatedly with reason OOMKilled, even though the application 'shouldn't' need that much memory. Here's how to find its actual peak usage and set limits that reflect reality instead of guesses.
kubectl get nodes shows a node stuck in NotReady state, and pods are being evicted from it. Here's how to check kubelet, container runtime, and network plugin health in the right order.
Deprecated in December 2020 and fully removed in the April 2022 release of Kubernetes 1.24, dockershim's removal ended direct Docker Engine support in kubelet — a roughly 16-month migration window the project deliberately built in.
A complete walkthrough restricting which pods can talk to which — Kubernetes allows all pod-to-pod traffic by default, and NetworkPolicies are how you actually change that.
A complete walkthrough setting up ArgoCD so a Git repository becomes the single source of truth for your cluster state — deploy by merging, not by running kubectl commands manually.
A complete walkthrough building a Helm chart for a simple application — templates, values, and the conventions that make a chart genuinely reusable rather than a one-off wrapper around raw YAML.
A helm upgrade fails partway, or a release gets stuck in 'pending-upgrade' state, blocking every subsequent operation on it. Here's how to actually recover instead of getting stuck retrying the same failing command.
A pod can't start because Kubernetes can't pull its container image — the fix depends entirely on which of a handful of specific causes is actually responsible, from a typo to a private registry auth problem.
A pod stuck Pending means the scheduler couldn't place it anywhere — here's how to read the actual reason from pod events instead of guessing at resource, taint, or affinity problems.
Started as a Deis project on October 15, 2015, Helm brought familiar package-manager concepts to Kubernetes — later merging with Google's Deployment Manager to become the Helm 2 the ecosystem would standardize on.
How the OCI runtime and image specs standardized what a 'container' actually is, and how containerd/CRI-O/runc fit together beneath Docker and Kubernetes.
How admission controllers intercept API requests before they're persisted, and how OPA/Gatekeeper turn that hook into cluster-wide policy enforcement.
How pod-to-pod networking, Services, and kube-proxy's packet rewriting fit together to make Kubernetes' flat network model actually work.
The two-phase filter-and-score process the Kubernetes scheduler uses to decide which node a pod lands on, and how to influence it.
On July 21, 2015, Kubernetes hit its 1.0 milestone the same day Google donated it as seed technology to the newly formed Cloud Native Computing Foundation.
A pod repeatedly crashes and restarts, sitting in CrashLoopBackOff. Here's a systematic way to find out why instead of just deleting and recreating the pod.
A complete, working setup for scaling a deployment automatically based on CPU usage, including the metrics-server prerequisite most tutorials skip over.
A complete walkthrough running a real multi-node Kubernetes cluster on your laptop with kind, including loading a locally-built image without pushing to a registry.
Two complete, working deployment strategies for shipping a new version with minimal risk — instant-rollback blue-green, and gradual, traffic-controlled canary.