Cases2 cases
1 to 2 of 2
IL-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)2i2c2022- Symptoms
A user of the LIS JupyterHub reported a "backoff after failed scale-up" error, and user servers would not start. An engineer opened incident #36, "LIS hub cannot scale", at 5:40 AM Pacific on 14 November 2022.
- Trigger
At 10 AM UK time on 14 November 2022, the B zone of Google Cloud's europe-west2 region (London) ran out of resources to allocate. The LIS cluster's nodes were restricted to that zone.
- Root cause
- Component
- Contributing factor
- Detection
A user reported the "backoff after failed scale-up" error; an engineer opened the incident at 5:40 AM Pacific, about three hours and forty minutes after the zone ran out of resources.
- Remediation
- edited the node pool in the GCP console to allow node creation in the A and C zones of europe-west2, which were not exhausted
- Action items
- Either restrict the node pool back to the B zone after the Black Friday event, or move the cluster and the NFS Filestore to the A zone (infrastructure issue #1944)
- Investigate an enterprise plan that allows a regional NFS, at higher cost (infrastructure issue #1945)
- Make sure PagerDuty notifications always get through to engineers (team-compass issue #574)
- Lessons
A node pool pinned to one zone for storage performance cannot scale when the cloud provider runs out of capacity in that zone. The autoscaler's "backoff after failed scale-up" message usually points to quotas, and raising quotas does nothing here; the ZONE_RESOURCE_POOL_EXHAUSTED error in the logs is what identifies a zone without capacity. The review found that one engineer wearing many hats (incident commander, comms and debugging), with pages not reaching the other responders, made the response harder; a team response would have given more support.
IL-0402mybinder.org launches dropped to zero for hours because a JupyterHub pod on a lost GKE node kept its hub database PVCBinder Project2018- Symptoms
On 13 March 2018 at 07:28 CET the mybinder.org team noticed that JupyterHub had not been spawning new users and that the launch success rate on the Grafana dashboard had been at zero for several hours. Many pods were in the states "Unknown" and "NodeLost", on at least the nodes `10.128.0.7` and `10.128.0.5`.
- Root cause
- Component
- Contributing factor
- Detection
The team noticed only after several hours, when the launch success rate on the Grafana dashboard had been at zero for a long time. No Stackdriver alert email arrived in time, because those emails were marked as spam and reached the team hours later.
- Remediation
- Cordoned the bad nodes
- Deleted the hub pod in Unknown state and the hub pod stuck in ContainerCreating
- Reset node gke-prod-a-ssd-pool-32-134a959a-n2sk from the GCP web interface to force the PVC to be released
- Force-deleted every pod in Unknown or NodeLost state with kubectl delete --grace-period=0 --force
- Action items
- Investigate why the outage started, through Stackdriver logs and Google Cloud incidents
- Set up an alerting service that does not depend on Stackdriver
- Document how to check whether a PVC has not been released
- Document how to restart a node by hand when commands are not working
- Document how to delete pods that are in Unknown state
- Lessons
The error went unnoticed for a long time because Stackdriver alert emails were marked as spam and arrived hours late. Once the problem was found, each step was logged and the steps were made more forceful as needed, so the hub was down only briefly after detection.
These 2 cases involve Node pool and Cluster autoscaler. 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 cause2
Cloud provider outage1 case
- Component
- Contributing factor
- Organisation
unknown1 case
- Contributing factor
- Organisation