Cases2 cases
1 to 2 of 2
IL-0021GKE GPU nodes on Container-Optimized OS could not download NVIDIA drivers (403 Forbidden) and came up without working GPUsGoogle Cloud2024- Symptoms
From 08:00 US/Pacific on 12 March 2024, GKE GPU nodes running Container-Optimized OS (COS) that were newly created or recreated came up with GPU drivers that did not work, so workloads that used the GPUs could not run. GKE showed elevated errors.
- Root cause
- Component
- Contributing factor
- Detection
The report does not say how Google detected the issue. Affected users saw "Failed to download GPU driver installer, status: 403 Forbidden" on the GPU node when installing the driver.
- Remediation
- Halted automatic node recreations, which attempt GPU driver downloads, until the issue was mitigated
- Worked with the driver partner to resolve access to the driver download bucket
- Lessons
The status page report states no lessons or follow-up actions.
IL-0039New Kubernetes worker nodes could not join any cluster because a package URL hardcoded in kops nodeup brokeFREE NOW2019- Symptoms
At 16:00 CEST a developer reported in the #ask-platform Slack channel that a deployment to the Prelive cluster was failing, and a second report followed at 16:06.
- Trigger
Roughly two to three days earlier, the CentOS repository mirror was restructured and container-selinux-2.68-1.el7.noarch.rpm moved, which made the static download URL hardcoded in kops nodeup invalid.
- Root cause
- Component
- Contributing factor
- Detection
Developers asked for help in the #ask-platform Slack channel because their deployments were failing.
- Remediation
- downloaded the package by hand on the Prelive nodes so their bootstrap could finish
- changed the cluster AMI from Amazon Linux 2 to Debian and applied it to all clusters
- Action items
- Create an alert that shows when nodes cannot join the cluster, possibly from information the cluster autoscaler already has
- Document the external dependencies of node startup and look for ways to reduce them
- Change the AMI back to Amazon Linux 2 Minimal once kops fixes the issue
- Document node troubleshooting better: what happens during bootstrap and where the logs are
- Lessons
Applying cluster changes through kops and Jenkins worked well, and troubleshooting quickly showed that the failing deployments came from missing cluster capacity. What went wrong was that nobody noticed, over a long period, that some autoscaling groups held more worker instances than Kubernetes had nodes. The team was lucky that no large number of production spot instances was terminated during the problem and that it was noticed during office hours.
These 2 cases involve Node operating system image and Node pool. 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
Dependency failure2 cases
- Contributing factor
- Organisation