Cases71 cases
49 to 53 of 71
By root cause11
Capacity exhaustion13 cases
- Component
- Node pool4CoreDNS3Application database3Container memory limit3In-memory cache2kubelet2Persistent volumes and stateful sets2Pod scheduling and placement2Admission webhook1Cloud controller manager1conntrack table1Container runtime1Client-side DNS resolver and cache1Helm1Horizontal pod autoscaler1Ingress controller1Istio1Jobs and CronJobs1kube-dns1Linux kernel1NAT gateway1Node root disk1Container registry and its credentials1
- Contributing factor
- Single point of failure7Automation amplification5Monitoring blind spot4Unverified assumption3Excessive blast radius3Unreviewed defaults3Retry storm3Unknown limit2No caching2Change during peak hours1Ignored early signal1Limited debug access1Harmful manual action1No capacity planning1No resource requests or limits1No runbook1No headroom1
IL-0102CoreDNS pods on a production EKS cluster ran out of memory under a burst of new pods, endpoints and nodes, taking down the Buildkite web UI, APIs and job dispatchBuildkite2026IL-0067Redis filled its persistent volume, corrupted its append-only file and crash-looped on every restartBC Government2025IL-0080kube-dns on Mercari's GKE clusters could not keep up with peak-hour DNS query rates, and a Sev1 production outage followed when several services failed DNS resolutionMercari2025IL-0082Losing one CoreDNS pod during a planned EKS node reroll overloaded the remaining CoreDNS pods, causing DNS timeouts and errors across multiple services at RebelMouseRebelMouse2025IL-0170During a Lunar New Year event, traffic more than three times normal filled the nf_conntrack table on the EKS node running the Istio ingress gateway, dropping packets and taking down Backpackr's web and app servicesBackpackr2025IL-0027All CoreDNS pods landed on one node, the node ran out of memory, and DNS for the whole service went downBackpackr2025IL-0085A control plane node of Magic Pages' Kubernetes cluster on Hetzner Cloud ran out of memory, the cluster's own calls then used up the Hetzner API rate limit, and all customer websites were down for about 7.5 hoursMagic Pages2025IL-0202A burst of queries and database writes exhausted connection pools and memory on Honeycomb's ingest hosts, and Kubernetes crash-loop back-off kept failed hosts offline so ingest capacity stayed too low to recoverHoneycomb2023IL-0094Student pods filled the shared nodes of a JupyterHub cluster and starved the hub's core pods, freezing the hub2i2c2020IL-0037Image registry rate-limited a whole region after a crash-looping DaemonSet with imagePullPolicy Always pulled through three NAT instancesDatadog2019IL-0064CPU-heavy pods packed onto one Google Cloud node drove it to kernel panics, and the crash moved from node to node until the site was downMoonlight2019IL-0036A reindex Job that kept failing exhausted one node after another until the whole cluster was downUniverse2017IL-0040Parallel Helm installs saturated small gp2 root volumes on a kops cluster and left all three workers NotReady with the kubelet or Docker downSaltside2017
Dependency failure3 cases
- Component
- Contributing factor
- Organisation
IL-0133A storm shut down cooling at Nebius's us-central1 data center, and a disk hot-plug bug kept Managed Kubernetes control planes down for hours after power returnedNebius2026IL-0187A brief Spring Cloud Config Server downtime failed every client application's liveness probe, because the actuator health check included the config server, and Kubernetes restarted the pods in a kill loopYonghyun Kim2025IL-0135A power source switch during UPS maintenance cut power to a row of GPU servers and shut down Crusoe Cloud VMs in us-northcentral1Crusoe Cloud2023
Breaking change in an upgrade7 cases
- Component
- Admission webhook2Cloud load balancer2GKE control plane2Ingress controller2Node operating system image2Calico1Cilium1ConfigMaps and Secrets1Client-side DNS resolver and cache1etcd1Istio1Kubernetes API server1kube-proxy1Linux kernel1Node pool1Persistent volumes and stateful sets1systemd-networkd1Web application firewall rules1
- Contributing factor
IL-0092Upgrading ingress-nginx from 1.12.0 to 1.14.3 brought a newer ModSecurity and OWASP Core Rule Set whose false positives blocked HMPPS Auth, so users could not sign in to their applicationsIL-0101After Google forced a GKE control plane upgrade to 1.33.2 at a deprecation deadline, no new node could initialise, so autoscaling and spot node replacement stopped for 15 hoursWealthy2025IL-0079A GKE node auto-upgrade to an ubuntu_containerd image with a kernel regression left kube-proxy unable to apply its ip6tables rules, so load balancer health checks failed and several clusters lost all ingress trafficAltinity2025IL-0203A routine Kubernetes cluster system update made the AWS Load Balancer Controller fail, so new pods were never registered with the ALB and Honeycomb's EU1 ingest and UI went down once the last old pods were replacedHoneycomb2024IL-0180A GKE control plane auto-upgrade from 1.22 to 1.23 removed the v1beta1 Ingress and ValidatingWebhookConfiguration APIs that Istio 1.7.4 still used, and Istio stopped working in productionSunwoo Park2023IL-0060Kubernetes 1.24 upgrade removed the master node label that Calico route reflectors selected on, dropping all pod routes and taking Reddit down for 314 minutesReddit2023IL-0198An automatic Ubuntu security update restarted systemd-networkd, which flushed the IP rules Cilium relied on and cut more than 60 percent of Datadog's Kubernetes nodes off the network across regions and cloud providersDatadog2023
Configuration change17 cases
- Component
- Configuration templating4Node pool4Cloud load balancer3Terraform3Argo CD2Kubernetes API server2kubelet2Container memory limit2Persistent volumes and stateful sets2Telemetry agent2AWS VPC CNI2Admission webhook1In-memory cache1CNI plugin1ConfigMaps and Secrets1Container runtime1Client-side DNS resolver and cache1GKE control plane1Ingress controller1Jobs and CronJobs1Node launch template1Linux kernel1Node operating system image1Pod priority and preemption1Service discovery1
- Contributing factor
- Automation amplification6Monitoring blind spot5Unverified assumption4Excessive blast radius4Unreviewed defaults4Missed in review4Unrepresentative staging4No configuration tests3No runbook3No staged rollout3Change with a delayed effect2Limited debug access2No health probes2No safeguard on destructive change2No headroom2Retry storm2Untested backup1Ignored early signal1Cache-masked failure1Harmful manual action1Overlapping failures1Partial rollout1Single point of failure1Unpinned version1
IL-0063VPN outage after recreating a Redis StatefulSet restarted the whole Redis cluster without readiness checksAdGuard VPN2025IL-0192A Crossplane composition merge-policy change for a TLS policy update switched Kubernetes Services from LoadBalancer to ClusterIP and deleted the load balancers behind about 25% of Grafana Cloud servicesGrafana Labs2025IL-0005A new telemetry service overloaded the Kubernetes API servers of large clusters and broke DNS-based service discovery for all OpenAI servicesOpenAI2024IL-0114An unpinned AWS VPC CNI plugin was updated automatically during a capacity expansion, leaving new pods Pending without IP addresses and stopping CoW Protocol settlements for about 3.5 hoursCoW Protocol2024IL-0153DOKS worker nodes went NotReady at 06:00 UTC on three days because a systemd timer in the Debian image ran apt upgrade and killed it mid kernel upgrade, breaking node networkingDigitalOcean2023IL-0091Changing the worker node instance type through Terraform recycled all nodes at once and deleted users' production pods togetherIL-0109A retried node rollover on a DFDS EKS cluster set the Auto Scaling group back to 15 instances, and the default termination policy removed every healthy worker node, leaving the cluster with no nodesDFDS2023IL-0116A CNI configuration change incompatible with a hardware variant that exists only in production cut network connectivity in an OpenAI GPU cluster and took text-davinci-003 fully downOpenAI2023IL-0191A label selector accidentally added to the Loki distributor Service matched only the new pods of a rollout, which took all write traffic, were OOM-killed and stalled the rolloutGrafana Labs2022IL-0009A duplicated generated name made Argo CD replace the InfluxDB Cloud production Application and delete the whole production environmentInfluxData2022IL-0111Switching the main Kubernetes ingress controller from Traefik v1 to v2 stopped X-Forwarded headers being passed, which broke the Okta login flow for every service using Okta and stopped DFDS online bookings for over an hourDFDS2021IL-0010A templating change that dropped its {{ }} delimiters made Argo CD delete all 478 Skyscanner services in every regionSkyscanner2021IL-0105Replacing the AWS VPC CNI during a Terraform refactoring detached the ALB target groups, and every service in the Kubernetes cluster returned 503DFDS2021IL-0008An unresponsive OPA validating webhook crash-looped the API server during a GKE master upgrade, and node auto-repair then recreated every nodeJetstack2019IL-0004A new default pod priority let a new Cortex cluster preempt every production ingester in a cascade, taking Grafana Cloud Hosted Prometheus downGrafana Labs2019IL-0066Broken ConfigMap change lay dormant for weeks, then took down Pusher's edge proxy when a cluster upgrade replaced its podsPusher2019IL-0055A failing CronJob with the default concurrency policy piled up thousands of restarting pods and took down a clusterTarget2018
Faulty deployment4 cases
- Component
- Contributing factor
IL-0188Rolling updates on EKS returned 502 errors for about 30 seconds because Kubernetes deleted old pods as soon as new pods passed readiness, before the ALB had marked the new pod targets healthyYonghyun Kim2025IL-0020During an EKS 1.30 upgrade the descheduler tried to reschedule every pod on the cordoned nodes at once and production workloads went downIL-0086A deployment meant for a CircleCI test Kubernetes cluster also removed Traefik and Calico resources from the production cluster, taking down the CircleCI UI and runner.circleci.comCircleCI2021IL-0034A crashing stats agent sidecar marked every pod unready and the service mesh pulled all services out of trafficAirbnb2019
Operator error5 cases
- Component
- Contributing factor
IL-0095An engineer deleted the prod namespace of the LEAP JupyterHub while believing the kubeconfig pointed at a new cluster, and the hub was down for about an hour2i2c2025IL-0207A routine task run from an engineer's local environment switched to production and deleted GitLab.com's Consul release, so Patroni lost Consul and GitLab.com returned 5xx errors to all trafficGitLab2022IL-0115One of OpenAI's three production AKS clusters went offline through a human error, and rebuilding it took 10½ hours because an AKS Kubernetes upgrade broke the ingress and AKS cannot be downgradedOpenAI2022IL-0089A test cluster deletion script run with the kube context pointing at the live-1 production cluster deleted its ingress controller, monitoring, logging, cert-manager, kiam and external-dnsIL-0054All ingress traffic lost while draining a GKE node pool because the load balancer only targeted new nodes without ingress-nginx podsDevOps Hof2019
Software defect12 cases
- Component
- Contributing factor
- Single point of failure3Unverified assumption2Excessive blast radius2Change with a delayed effect2Monitoring blind spot2No headroom2Overlapping failures2Automation amplification1Unreviewed defaults1Ignored early signal1Unpatched known bug1Harmful manual action1No alert on limit1No configuration tests1No staged rollout1Retry storm1Ineffective rollback1Deferred upgrades1Unrepresentative staging1
IL-0078Enabling EKS secrets encryption with KMS through Terraform removed worker node IAM permissions and took down all ZenML Pro workspacesZenML2025IL-0157After a release, new nodes could not join Linode Kubernetes Engine clusters with IP ACL enabled, so autoscaling failed on about 20 to 25 clustersLinode2025IL-0138A failed Nvidia driver build left broken kernel packages on the only Kubernetes master node, which hit a kernel panic on reboot after a power outage and took the homelab cluster down for six daysBarush Mendez2025IL-0024Expensive cache-backed API calls and uncancelled database requests overloaded MongoDB and took the Hugging Face Hub down three timesHugging Face2024IL-0123A response buffer allocated anew in a loop made OpenAI's routing layer nodes hit their memory limits and fail readiness checks on a morning with more completions than any day before, causing 502 and 503 errors across all modelsOpenAI2023IL-0132A faulty resource cleanup process marked Vertex AI prediction endpoints as deleted worldwide, undeploying customers' models and failing predictions for 4 hours 20 minutesGoogle Cloud2022IL-0106A malformed Traefik IngressRoute triggered a Traefik v2 bug once a node rollover restarted every Traefik pod, and all Kubernetes services returned 404DFDS2021IL-0196Adding a second Redis replica and lowering memory limits in one RedisFailover change restarted the only Redis pod that held data, and Sentinel promoted the empty new replica, erasing the dataPalark2020IL-0051A third-party log shipping client leaked file descriptors with every new container until nodes failed with too many open filesthredUP2018IL-0074All AirMap platform services down as worker nodes went NotReady and pods crash-looped on network and DNS failuresAirMap2018IL-0072High etcd write latency made the API servers return stale data, and the production cluster flipped between two views of its stateNordstrom2017IL-0003linkerd lost Kubernetes service discovery after an etcd reconfiguration, and restarting every linkerd instance turned failed payments into a full platform outageMonzo2017
Cloud provider outage6 cases
- Component
- Contributing factor
IL-0084Packet drops on a bare metal provider's vSwitch forced Namespace to rebuild its fra3 region and left global capacity short, and the next day slow NVMe writes on a control plane node drove the Kubernetes API server to very high CPUNamespace2024IL-0145A power sag and chiller failure in one Australia East availability zone took down the AKS control plane's compute and its non-zone-redundant SQL Database operation queue, blocking AKS create, update and delete operations in Australia East and Australia SoutheastMicrosoft Azure2023IL-0096A GKE node pool pinned to the europe-west2-b zone could not scale for 6.5 hours because Google ran out of resources in that zone (ZONE_RESOURCE_POOL_EXHAUSTED)2i2c2022IL-0172An AWS Tokyo data centre cooling failure took down 6 of 60 CockroachDB nodes on Kubernetes within 22 minutes, and ranges lost quorum because the Helm-deployed cluster had no availability zone locality configuredDevsisters2021IL-0193A GCP persistent disk degradation took down a Cassandra StatefulSet whose OrderedReady policy blocked recovery, and Metrictank could not reconnect to the recreated pods, causing a 23-hour Graphite query outageGrafana Labs2019IL-0014A GKE upgrade to a withdrawn version stalled on slow drains and a stuck node pool, then broke an ingress and confused the HPAloveholidays2019
unknown2 cases
- Contributing factor
- Organisation
IL-0087After a cold reboot of RKE2 nodes, pods could not get IP addresses because Multus could not reach the Kubernetes API, and further reboots spread the failure to every nodeFyra Labs2023IL-0059Single-master Kubernetes control plane kept dying because the kubelet restarted a healthy etcd on a failing kubeadm liveness probeNRE Labs2018
Certificate or credential expiry1 case
- Contributing factor
- Organisation
DNS or network fault1 case
- Contributing factor
- Organisation