Incident Library

IL-0365 DFDS · 2020-06-09kubernetesawsnetworking

A Terraform change to auto-scaling groups detached all worker nodes from both ALBs and cut off every cluster service

On 9 June 2020 DFDS started planned maintenance at 11:00 CET to give the Hellman Kubernetes cluster separate auto-scaling groups per availability zone. When the Terraform changes were applied at 12:20, both ALBs lost all their attached instances, the Kubernetes worker nodes, and every service in the cluster became unavailable from outside. A CloudWatch alert on 5XX counts fired at 12:25 and the missing ingress traffic was verified at 12:28. The SRE team found the cause quickly and at 12:35 mitigated it by attaching the instances to the ALBs by hand, and a permanent fix was in place at 13:13. DFDS lists as contributing factors that test clusters do not check ingress traffic through ALBs, the maintenance playbook missed a step, the maintenance window had been moved close to the lunch break, disruptive maintenance sets off a flood of alerts, general alert noise was too high again, and ALB-attached instances were only alerted on by proxy. Time to detection was 5 minutes and time to recovery 15 minutes.

Severity
–
Scope
All services running inside the Hellman Kubernetes cluster were unavailable from outside the cluster
Users affected
–
Region
–
Time to detect
5m
Time to resolve
15m

Symptoms

On 9 June 2020 at 12:25 CET a CloudWatch alert fired on a high count of 5XX responses from the AWS Application Load Balancers (ALBs) of DFDS's Hellman Kubernetes cluster, and at 12:28 the SRE team verified that no ingress traffic was reaching the cluster. Every service running inside the cluster was unreachable from outside it, because both ALBs, the authenticated one and the one without authentication, no longer had any Kubernetes worker nodes attached.

The alert came during planned maintenance that set off many alerts, on top of alert noise that was already high, and DFDS had no alert on healthy or unhealthy ALB targets, only indirect alerts for the attached instances.

Symptom Service outage

Root cause

Trigger
Planned maintenance to split the Hellman cluster's auto-scaling groups by availability zone applied Terraform changes at 12:20 CET that removed the ALB instance attachments.

Detection

A CloudWatch alert detected a high count of 5XX responses for the ALBs, and the lack of ingress traffic was then verified.

Remediation

Action items

Lessons

General alert noise is still too high, there was no alert on healthy and unhealthy ALB targets, and test clusters should check ingress through the ALBs.

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, Terraform, Cloud load balancer, Node launch template among them, read-only, from Claude Code or Codex. Its checks cite public reports like this one.

For AI tools and scripts

The API needs no key. The MCP server offers search_incidents, get_incident, list_incidents, get_topic and vocab; both are explained on API and MCP.