Cases6 cases
1 to 5 of 6
IL-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 trafficAltinity2025- Symptoms
On a Saturday, an OpsGenie alert fired for a ClickHouse cluster in Altinity.Cloud that had gone silent: no queries, no metrics, and no logs from customers trying to connect. The pods were running and the nodes looked healthy, but no traffic reached the database. Other clusters soon showed the same thing, and external access was blocked across several GKE clusters.
- Trigger
GKE automatically upgraded worker nodes to the ubuntu_containerd image 1.32.3-gke.1785003, which ships kernel 6.8.0-1022-gke.
- Root cause
- Component
- Contributing factor
- Detection
An OpsGenie alert fired when one ClickHouse cluster stopped receiving queries, metrics and customer connection logs.
- Remediation
- added maintenance exceptions to pause all upgrades on the GKE clusters that were not yet affected
- changed the load balancer health check policy to ignore failed kube-proxy health checks, so traffic flowed to the nodes again
- began migrating the affected clusters from the ubuntu_containerd to the cos_containerd node image by recreating nodes
- Action items
- Expand image pre-testing pipelines to catch regressions earlier
- Enable notifications for upcoming GKE auto-upgrades
- Make GKE maintenance windows required across the fleet to control when upgrades roll out
- Track Google's issue and wait for a patched Ubuntu image
- Lessons
A managed node upgrade can break kube-proxy in a way that leaves pods and nodes looking healthy while the load balancer sends nothing, because the load balancer health check depends on kube-proxy. kube-proxy's own logs showed the cause. Altinity recommends that GKE users on ubuntu_containerd restore traffic by switching to externalTrafficPolicy: Cluster, which disables the kube-proxy health check in the load balancer, move production workloads to cos_containerd, and pause auto-upgrades where possible until a patched image has been confirmed and tested.
IL-0404All BSEE SaaS customer pods on EKS crash-looped after Karpenter moved nodes to Bottlerocket v1.26.0, which broke JavaPortSwigger2024- Symptoms
On 24 October 2024 every BSEE SaaS customer instance showed the Environment Unavailable message, and the SaaS Uptime Over Time metric dropped sharply at 04:45. The Technology Team learned of the outage when the Growth team posted about it at 08:07 and a member of the Product team told the Technology Team verbally at 08:15.
- Trigger
AWS made Bottlerocket v1.26.0 the latest Bottlerocket AMI in eu-west-1 between 02:00 and 04:30, and at 04:00 Karpenter saw the new version and started replacing the EC2 nodes of the production EKS cluster with it.
- Root cause
- Component
- Contributing factor
- Detection
The Growth team reported the outage in the BSEE cloud onboarding issues channel at 08:07, and a member of the Product team told the Technology Team verbally at 08:15. The SaaS Uptime Over Time metric had already dropped at 04:45.
- Remediation
- Reverted all EC2 instances in the SaaS production account to Bottlerocket v1.25.0
- Deployed Bottlerocket 1.25.0 across all EKS clusters and rolled out new EKS nodes
- Action items
- Change the Karpenter resources to deploy a specific versioned Bottlerocket AMI instead of the latest released AMI
- Add the Bottlerocket release ATOM feed to an internal tooling release dashboard
- Set up a public status page to communicate with customers
IL-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- Symptoms
Between 06:00 and 07:00 UTC on 8 March 2023, Kubernetes nodes in several Datadog regions lost network connectivity at the same time, on AWS, Google Cloud and Azure. All services across multiple regions were affected, including the regions that host Datadog's CI/CD and automation tools. Datadog's regions are not connected to each other and changes are rolled out one region at a time, so a simultaneous failure on several cloud providers looked implausible at first.
- Trigger
On 7 March 2023 Ubuntu published a systemd patch for a CVE (249.11-0ubuntu3.7). Ubuntu's default unattended upgrades installed it on the nodes between 06:00 and 07:00 UTC on 8 March, and installing it restarted systemd-networkd.
- Root cause
- Component
- Contributing factor
- Remediation
- restarted thousands of disconnected instances on Google Cloud and Azure through the cloud APIs, keeping their local disks
- rebuilt the data lost with terminated AWS instances' local disks through replication, reprocessing and restores from backup
- Lessons
A change in a base operating system component can stay dormant for months until something restarts that component. Here the trigger was a security patch, and the change reached every region at once because automatic OS updates ran outside the progressive, region-by-region process used for every other change. Cloud providers react differently to an instance that loses its network. Google Cloud and Azure left the instances running, so a restart recovered them with their disks; AWS replaced them quickly, which brought stateless services back fast but destroyed the local-disk data the stateful services needed.
IL-0144A systemd security update installed by unattended-upgrades lost the DNS configuration of Ubuntu 18.04 VMs, so AKS kubelets could not resolve registry names and pods failed with ImagePullBackOffMicrosoft Azure2022- Symptoms
From 06:00 UTC on 30 August 2022, Azure VMs running Ubuntu 18.04 (bionic) with unattended-upgrades enabled began failing DNS resolution and losing network connectivity. Several Azure teams, among them the AKS and Azure Container Apps teams, were alerted by production alerts shortly after the update packages were published.
- Trigger
Unattended-upgrades on Ubuntu 18.04 VMs installed a Canonical security update published at 06:00 UTC on 30 August 2022, including systemd version 237-3ubuntu10.54.
- Root cause
- Component
- Contributing factor
- Detection
Several Azure teams, including AKS and Azure Container Apps, were alerted by production alerts shortly after the packages were published; incoming support cases then confirmed which Ubuntu versions were affected.
- Remediation
- pointed customers to Canonical's description of the systemd bug and its fix
- recommended rebooting affected VMs or running a template script that repairs DNS resolution
- built automatic detection and remediation for AKS nodes and rolled it out across all regions
- mitigated the remaining AKS customers manually through support
- Action items
- Review the process that lets critical security updates bypass Safe Deployment Practices
- Improve monitoring of the AKS data plane to alert on an uptick of errors
- Review AKS monitoring algorithms so that similar VM errors are detected and alerted on
- Establish an improved escalation path to Canonical during outages and add it to internal Technical Service Guides
- AKS takes full control of the node security patch mechanism, with additional testing and controlled release of patches (estimated December 2022)
- Work with Canonical to run dedicated tests on proposed packages before they are published for Azure IaaS VMs
- Establish a process with Canonical to close the testing gap for the upgrade scenario (estimated March 2023)
- Give AKS customers maintenance window control and environment staging for these patches (estimated December 2023)
- Lessons
Security patches applied automatically by unattended-upgrades, once a day by default, and outside Azure's Safe Deployment Practices reached Ubuntu 18.04 VMs in every Azure region, so one systemd regression became a DNS outage across Azure. On AKS, lost node DNS showed up as image pull failures such as ImagePullBackoff, because kubelet could not resolve the registry. Azure plans to put node security patching under AKS's control with testing and controlled release; customers can use automatic node image upgrade for AKS, or automatic VM guest patching for VMs, instead of unattended-upgrades.
IL-0501Every node of the UToronto Kubernetes cluster on Azure went NotReady and the JupyterHub became unreachable2i2c2022- Symptoms
On 30 August 2022 at 11:15 AM Pacific time, the UToronto JupyterHub at jupyter.utoronto.ca stopped responding and users could not reach it at all. The outage was reported through 2i2c's support desk.
- Trigger
Microsoft Azure rolled out an Ubuntu update to all Ubuntu 18.04 nodes, which triggered a systemd bug that broke networking.
- Root cause
- Component
- Contributing factor
- Detection
The outage was reported at 11:15 AM through 2i2c's Freshdesk support desk because jupyter.utoronto.ca was not responding. At 11:25 AM the customer's representative forwarded the Microsoft advisory on the same ticket, which pointed the team to the cause.
- Remediation
- Started an upgrade of the cluster's Kubernetes and node versions, which replaced all old nodes with new working ones
- Action items
- Document how to SSH into the Kubernetes nodes
- Find a way to be notified of Azure advisories
- Lessons
Once the cause was known, a single action brought the hub back quickly. The team had no documented way to SSH into its Kubernetes nodes, and the customer's representative saw the Azure advisory and pointed it out on the support ticket, which saved a lot of time.
These 6 cases involve Node operating system image and Cilium. 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
Breaking change in an upgrade6 cases
- Component
- Contributing factor
IL-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-0404All BSEE SaaS customer pods on EKS crash-looped after Karpenter moved nodes to Bottlerocket v1.26.0, which broke JavaPortSwigger2024IL-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 providersDatadog2023IL-0144A systemd security update installed by unattended-upgrades lost the DNS configuration of Ubuntu 18.04 VMs, so AKS kubelets could not resolve registry names and pods failed with ImagePullBackOffMicrosoft Azure2022IL-0501Every node of the UToronto Kubernetes cluster on Azure went NotReady and the JupyterHub became unreachable2i2c2022IL-0449Pods on Enigmo's new EKS managed node groups kept restarting or stuck Terminating and the nodes became unusableEnigmo2020