Incident Library

IL-0542 Twingate · 2025-03-21kubernetesgcpnetworking

Twingate authentication and authorization requests failed at higher rates after traffic moved onto a smaller GKE cluster

Twingate runs its services active-active on several Google Kubernetes Engine (GKE) clusters, with a Global Load Balancer (GLB) spreading traffic between them. When one cluster showed anomalies, Twingate scaled down its deployments, and the traffic moved mainly to a cluster that usually handles a lighter load and was sized for it. That cluster autoscaled, but the extra traffic raised error rates, retry mechanisms across services increased the load further, and a cloud provider-initiated update on the same cluster restarted pods and reduced capacity.

Twingate attributed the incident to behaviour on the cloud provider's side, namely unexpected request timeouts at the load balancer and instability during the cluster update, which together started a cascade of retry traffic. The incident ended when Twingate brought capacity back in the first cluster, so traffic was balanced across regions again and the errors and retries died down. Twingate said it was still investigating the timeout configuration and the cluster's behaviour during the update together with the provider.

Severity
–
Scope
A subset of authentication and authorization requests to Twingate services; the status page lists Authentication (Enterprise and Social), MFA, Authorization, Connector Heartbeat and management services
Users affected
–
Region
–
Time to detect
–
Time to resolve
31m

Symptoms

On 21 March 2025, between 21:10 and 21:41 UTC, part of the authentication and authorization requests to Twingate services failed with elevated error rates.

The errors appeared on a GKE cluster that normally carries a lighter share of traffic, after deployments in another cluster were scaled down and the Global Load Balancer moved that cluster's traffic onto it. The receiving cluster started autoscaling, but the errors made services across Twingate retry their requests. Many retried requests then succeeded, but the retries also added to the total load. During the same period the cloud provider ran an update operation on that cluster, which restarted pods and took away capacity, and Twingate also saw unexpected request timeouts at the load balancer.

Symptom High error rate

Root cause

Trigger
Twingate saw anomalies in one of its GKE clusters and scaled down the deployments in that cluster to protect the rest of the system, which moved its traffic to the other clusters.

Detection

Twingate observed anomalies in one of its GKE clusters at the start of the incident.

Remediation

Action items

Lessons

–

Sources

Related cases

Check your cluster for this

kubegap audits a Kubernetes cluster for conditions like the ones in this case, Cloud load balancer, GKE control plane, Horizontal pod autoscaler 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.