Incident Library
  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases14 cases

6 to 10 of 14

  1. Symptoms

    Between 2:10 PM and 3:05 PM PDT on July 9, 2025, success rates of the gpt-4.1-mini model in the API dropped for about 20 minutes, and ChatGPT search returned many more errors than usual for about 35 minutes.

    Trigger

    A faulty code change was deployed to a control plane cluster whose main job is managing low-priority workloads.

    Root cause
    Component
    –
    Contributing factor
    Remediation
    • rolled back the faulty code change
    Action items
    • Add safeguards that prevent production inference workloads from being managed by the low-priority control plane cluster
    • Strengthen testing for deploying high-impact control plane changes
    • Move all existing production inference workloads under the production control plane cluster
    • Build a circuit breaker that stops large-scale unintended changes
  2. Symptoms

    At 09:36 on 18 March 2025, during the upgrade of the live cluster to EKS 1.30, users reported that their pods were being terminated and were not restarting automatically, in both production and non-production environments. Automated infrastructure alerts fired as well, and production services had outages.

    Trigger

    Upgrading the live EKS cluster from 1.29 to 1.30, during which the descheduler attempted to reschedule all pods on the cordoned nodes simultaneously.

    Root cause
    Component
    Contributing factor
    Detection

    Users reported at 09:36 that pods were being terminated and not restarting, and automated infrastructure alerts fired.

    Remediation
    • Removed the cordon annotation so pods could be rescheduled
    • Deleted stuck 1.30 nodes to force their recreation
    • Added a new node group of 20 nodes running 1.30 by hand
    • Cordoned and drained all old 1.29 nodes onto the new 1.30 nodes
    Action items
    • Raise an AWS Production System Down support case (Case ID: 174229643100496)
    • Get guidance from AWS support on querying control-plane logs to find the root cause of similar issues
    • Document a runbook for emergency scaling of a new node group in case of unexpected capacity shortages
    • Alert on an imbalance between the autoscaling group and the Kubernetes nodes
    • Review the descheduler configuration to understand why it throws pods off cordoned nodes, and fix it where possible
    • Alert on spikes in the pending pod count
    Lessons

    The write-up lists review actions rather than lessons. They show the team had no documented way to add an emergency node group, no alert on a mismatch between the autoscaling group and the nodes Kubernetes sees, no alert on a spike in pending pods, and no clear understanding of how the descheduler treats cordoned nodes.

  3. Symptoms

    From 07:13 US/Pacific on 6 July 2023, GKE customers saw unexpected additional error and warning entries in their cluster logs, written to the Cloud Logging project that holds the clusters. Standard and Autopilot clusters at GKE 1.24.x and later were affected.

    Trigger

    Google rolled out a new version of the GKE component that processes logs (preliminary analysis).

    Root cause
    Component
    Contributing factor
    –
    Remediation
    • gave customers a workaround: request a Logging API quota increase, or apply a log exclusion for the fluentbit-gke messages
    • rolled out a fix gradually to the affected clusters between 10 and 18 July 2023
    Lessons

    Log messages written by a managed logging agent count against the customer's own Logging API write quota and logging bill, so a faulty agent release can drop a customer's other logs. A log exclusion on the agent's container name and the message patterns keeps the noise out of storage until a fix arrives.

  4. Symptoms

    Resizing an LKE cluster produced an incorrect number of nodes, so some customer clusters were resized in unexpected ways and the extra worker nodes were billed to the customer accounts. The clusters themselves kept functioning. Linode's first status update, at 05:07 UTC on 1 June 2023, advised customers to avoid resizing their clusters if possible.

    Trigger

    At about 16:00 UTC on 31 May 2023 a change to the API that caused LKE clusters to scale improperly was pushed to production.

    Root cause
    Component
    Contributing factor
    Detection

    The first status update, at 05:07 UTC on 1 June, said Linode had been made aware of an issue when resizing LKE clusters, about 13 hours after the change went out.

    Remediation
    • advised customers to avoid resizing their clusters
    • deployed a hotfix at 09:40 UTC on 1 June that corrected the scaling behaviour
    • left the extra worker nodes in place to avoid disrupting customer workloads
    • contacted affected customers by ticket about credit adjustments and further mitigation
    Action items
    • Audit the automated tests
    • Add pre-deployment checklist items so the same failure does not happen again
    Lessons

    An API change that alters scaling behaviour resized customer clusters and added cost while the clusters themselves kept working; Linode announced the issue about 13 hours after the change went out. Removing the extra nodes would have disrupted workloads, so the cost was handled through credits instead.

  5. Symptoms

    From about 18:30 UTC on June 15, 2022, customers of the Linode Kubernetes Engine (LKE) who tried to upgrade a cluster or add nodes saw those operations fail silently, without an error. The status page opened an investigation of an LKE issue at 19:54 UTC, and the affected list covered LKE in eleven regions.

    Trigger

    An incremental update pushed to the LKE production environment at about 18:30 UTC.

    Root cause
    Component
    Contributing factor
    –
    Detection

    The status page began investigating at 19:54 UTC, 1 hour 24 minutes after the update.

    Remediation
    • Released a follow-up LKE update at about 21:00 UTC that contained the missing changes
    Action items
    • Add steps and automation to the update process
Check your cluster for this

These 14 cases involve Node pool and Ingress controller. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause1

Faulty deployment14 cases

  1. IL-0136 A deployment that cleared an internal service's caches at peak traffic sent 20 times the normal load to the Azure OpenAI metadata backend in Sweden Central, and health checks that depended on its database restarted instances in a loop for almost six hours
  2. IL-0166 A compute host update removed the credential parser used to decode StackScripts, so new Linodes and every new LKE and LKE-E node failed to boot and autoscaling and node recycling failed in all regions
    Linode2026
  3. IL-0167 A phased rollout of an LKE software release in Osaka stalled LKE-E cluster creation, version upgrades and control plane ACL changes
    Linode2026
  4. IL-0160 A repaired legacy GPU monitoring script sent a firmware query that triggers a race condition in the GPU System Processor of NVIDIA RTX 4000 Ada GPUs, locking up GPU Linodes and LKE worker nodes in several regions
    Linode2026
  5. IL-0188 Rolling 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 healthy
  6. IL-0121 A faulty code change to a control plane cluster meant for low-priority workloads degraded the production inference workloads it also managed
    OpenAI2025
  7. IL-0020 During an EKS 1.30 upgrade the descheduler tried to reschedule every pod on the cordoned nodes at once and production workloads went down
  8. IL-0142 GKE clusters on 1.24 and later wrote unexpected fluentbit error entries such as "Failed to get record: decoder: failed to decode payload: EOF" that used up the Logging API write quota for some customers
  9. IL-0163 An API change that slipped through a gap in automated testing made LKE clusters resize to the wrong number of nodes and added billable worker nodes to customer accounts
    Linode2023
  10. IL-0164 An incremental Linode Kubernetes Engine production update that was missing changes from the previous release made cluster upgrades and node additions fail silently
    Linode2022
  11. IL-0086 A 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.com
  12. IL-0088 A validating admission webhook added by a new ingress controller module version made the live-1 cluster reject every new Ingress with an x509 error
  13. IL-0034 A crashing stats agent sidecar marked every pod unready and the service mesh pulled all services out of traffic
    Airbnb2019
  14. IL-0149 Upgrades of AKS clusters on Virtual Machine Scale Sets failed with a 'platform image is not available' error after a service update left a backend service unhealthy