Cases5 cases
1 to 5 of 5
IL-0098After 2i2c moved from ingress-nginx to nginx-ingress, a hub's Ingress took priority over cert-manager's temporary Ingress for the same host, so new hubs could not get TLS certificates2i2c2026- Symptoms
An attempt to launch a new hub failed because its ingress could not obtain a new TLS certificate. The day before, the same engineer had recreated the support deployment on the 2i2c-aws-us cluster and seen its TLS certificate orders stuck pending.
- Trigger
Creating new hub deployments that needed new TLS certificates on clusters recently migrated from ingress-nginx to nginx-ingress.
- Root cause
- Component
- Contributing factor
- Detection
An attempt to launch a new hub failed; the engineer had seen certificate orders stuck pending on another cluster the day before and declared an incident.
- Remediation
- annotated the Ingress objects that need TLS so that cert-manager could edit them in place to complete the ACME challenge
- Action items
- Follow-up tracked in https://github.com/2i2c-org/infrastructure/issues/8016
- Follow-up tracked in https://github.com/2i2c-org/infrastructure/issues/3278
- Lessons
Swapping one ingress controller for another can change how Ingress objects that share a host are combined. cert-manager's temporary challenge Ingress depends on that behaviour, so the breakage shows up when a deployment needs a new certificate. 2i2c notes that it got lucky: it had already learned of this possible cause while testing on an internal cluster, and changing the cert-manager configuration was quick.
IL-0405An expired AWS Load Balancer Controller webhook certificate left no healthy targets and took BSEE SaaS downPortSwigger2026- Symptoms
From 10:00 UTC on 11 January 2026 every BSEE SaaS instance in PortSwigger's US and Canada regions was unavailable: customers could not open the Web UI or start scans. The platform team learned of it only when customers reported it through support at 09:52 UTC the next day.
- Trigger
The upgrade of the AWS Load Balancer Controller from v1.14.1 to v1.16.0 on 28 November 2025 left an orphaned webhook TLS secret that cert-manager could not renew, and the certificate in it expired on 8 January 2026.
- Root cause
- Component
- Contributing factor
- Detection
Customers reported the outage through support at 09:52 UTC on 12 January 2026, almost 24 hours after impact began, and the platform team began investigating at 10:00 UTC.
- Remediation
- Deleted the orphaned aws-load-balancer-tls secrets in the US and Canada clusters
- Redeployed the AWS Load Balancer Controller configuration with Helm
- Verified that new certificates were generated and the webhooks worked again
- Action items
- Audit all clusters for orphaned secrets that have no owning Certificate resource and resolve them
- Add high-level application access alerting for each SaaS cluster from an external probe
IL-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 replacedHoneycomb2024- Symptoms
Event ingestion and the Honeycomb UI in EU1 became unavailable at 22:00:10 UTC on April 9, 2024, and the status page reported that the EU1 instance was down. Both the ingestion service and the service behind the web UI stopped at roughly the same moment.
- Trigger
A routine system update to the Kubernetes cluster, rolled out earlier on April 9, followed by a regular deployment that replaced pods one at a time.
- Root cause
- Component
- Contributing factor
- Detection
The first status post, saying the EU1 instance was down, went up at 15:08 PDT (22:08 UTC), about 8 minutes after the outage began. There was no alerting on the AWS Load Balancer Controller.
- Remediation
- Restarted the AWS Load Balancer Controller
- Rolled back the Kubernetes cluster system update
- Action items
- Find the exact cause of the failure so the system update can be deployed safely
- Add monitoring and alerting on the AWS Load Balancer Controller so on-call engineers learn of a failure quickly and can pause deployments
- Lessons
A rolling deployment can look healthy while the component that wires new pods into the load balancer is broken; the failure only shows when the last old pod goes away. Honeycomb now treats the AWS Load Balancer Controller as a critical component that needs its own alerting, so deployments can be paused before they remove the last pods that still receive traffic. Extensive testing in development and staging did not reveal the bad interaction.
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-0449Pods on Enigmo's new EKS managed node groups kept restarting or stuck Terminating and the nodes became unusableEnigmo2020- Symptoms
Two or three days after Enigmo created EKS managed node groups and moved its pods there from the old node groups, the cluster suddenly became unstable: pods restarted again and again or could not stop and stayed around indefinitely, node CPU and memory load rose high, and the nodes became unusable from the cluster.
- Trigger
Enigmo created EKS managed node groups that used an AMI containing the bug and moved its pods onto them, as preparation for upgrading EKS from 1.15 to 1.16.
- Root cause
- Component
- Contributing factor
- Remediation
- Changed the managed node groups' AMI version to the fixed release
- Ran the managed node group update through CloudFormation
- Watched the pods across all namespaces during the update
- Force-deleted every pod that stayed in Terminating with kubectl delete --grace-period=0 --force
- Action items
- Check the latest releases of the cluster's modules quarterly or monthly and upgrade them regularly
- Lessons
As long as a team uses Amazon EKS or Kubernetes, it has to keep track of upgrades of the cluster and of modules such as ingress controllers, because a release with breaking changes can be announced without warning after a long stable period. Checking releases and upgrading on a regular schedule keeps the effect of each upgrade on the service small.
These 5 cases involve Ingress controller and cert-manager. 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 upgrade5 cases
- Component
- Contributing factor
- Organisation
IL-0098After 2i2c moved from ingress-nginx to nginx-ingress, a hub's Ingress took priority over cert-manager's temporary Ingress for the same host, so new hubs could not get TLS certificates2i2c2026IL-0405An expired AWS Load Balancer Controller webhook certificate left no healthy targets and took BSEE SaaS downPortSwigger2026IL-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-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-0449Pods on Enigmo's new EKS managed node groups kept restarting or stuck Terminating and the nodes became unusableEnigmo2020