{"id":"IL-0209","org":"GitLab","date":"2021-08-24","docs":[],"title":{"en":"A too-high HPA CPU target kept GitLab.com web pods from scaling up as traffic moved from VMs to Kubernetes, breaching the web latency SLO for 15 minutes","ko":"웹 파드의 HPA CPU 목표값이 너무 높아 트래픽을 넘겨받는 동안 파드가 늘지 않았고, GitLab.com 웹 지연 SLO 가 약 15분 동안 깨졌다."},"domain":["kubernetes"],"impact":{"scope":"Temporary slowdown of requests to the GitLab.com web front end; web latency SLO breached for about 15 minutes","users":"unknown","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"When traffic is moved onto pods that rely on CPU-based autoscaling, a CPU target set too high can keep the pods from scaling as the traffic arrives; GitLab fixed it by setting a more conservative target.","ko":"트래픽을 새 파드로 넘길 때 HPA 의 CPU 목표값이 너무 높으면 부하가 늘어도 파드가 제때 늘지 않는다. 팀은 목표값을 보수적으로 낮춰 이 문제를 풀었다."},"related":[],"sources":[{"url":"https://gitlab.com/gitlab-com/gl-infra/production/-/issues/5408","kind":"github","license":"unknown","archived":null}],"summary":{"en":"During the migration of the GitLab.com web service from VMs to Kubernetes, the target CPU utilisation set on the web pods' autoscaler was too high. As traffic was moved onto the pods, the too-high target kept them from scaling out, and some web requests slowed down. The web latency SLO was breached for about 15 minutes, from 07:30 to 07:45 UTC. The team merged a change (gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149) that set a lower, more conservative CPU target. The incident review sections of the issue were left unfilled.","ko":"GitLab 은 GitLab.com 웹 서비스를 VM 에서 쿠버네티스로 옮기는 중이었다. 트래픽이 쿠버네티스 웹 파드로 넘어오는데, 웹 파드에 설정한 targetCPU 가 너무 높았다. 목표값이 너무 높아 파드가 늘지 않았고, 웹 프런트엔드 요청 일부가 잠시 느려졌다. 웹 지연 SLO 는 약 15분 동안 깨졌다.\n\n팀은 머지 요청 gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149 로 목표값을 더 보수적인 값으로 낮췄다."},"trigger":{"en":"Shifting web traffic from VMs to Kubernetes pods during the GitLab.com web migration.","ko":"웹 서비스를 VM 에서 쿠버네티스로 옮기면서 트래픽을 쿠버네티스 웹 파드로 넘겼다."},"severity":"unknown","symptoms":["high-latency","autoscaler-misbehaving"],"timeline":{"detected_after":"10m","resolved_after":"15m"},"date_kind":"incident","detection":{"en":"The web latency SLO breach at 07:30 UTC; an engineer declared the incident in Slack at 07:40.","ko":"07:30 UTC에 웹 지연 SLO 가 깨졌고, 10분 뒤인 07:40에 엔지니어가 Slack 에서 장애를 선언했다."},"components":["hpa"],"root_cause":"config-change","remediation":[{"text":{"en":"Lowered the target CPU utilisation of the web pods' autoscaler to a more conservative value (merge request gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149)","ko":"웹 파드의 targetCPU 를 더 보수적인 값으로 낮추는 머지 요청 gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149 를 머지했다."}}],"action_items":[{"text":{"en":"Adjust the target utilisation for the web pods (gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149)","ko":"목표 사용률을 조정하는 머지 요청 gitlab-com/gl-infra/k8s-workloads/gitlab-com!1149 를 재발 방지 조치로 올려 머지했다."}}],"contributing":["assumption-unverified"],"recurrence_of":null,"symptoms_text":{"en":"The web service breached its latency SLO at 07:30 UTC and its Apdex dropped: some requests to the GitLab.com web front end slowed down for about 15 minutes. This happened while web traffic was being shifted from virtual machines to the web pods on Kubernetes, and the pods did not scale up as the traffic arrived.","ko":"2021년 8월 24일 07:30 UTC에 웹 서비스의 지연 SLO 가 깨졌다. 웹 서비스의 Apdex 가 떨어졌고, 웹 프런트엔드로 가는 요청 일부가 잠시 느려졌다. Apdex 는 응답 시간이 목표 안에 든 요청의 비율로 계산하는 만족도 점수다.\n\n이때 GitLab 은 웹 서비스를 VM 에서 쿠버네티스로 옮기면서 트래픽을 쿠버네티스 웹 파드로 넘기고 있었다. 07:40에 Slack 에서 장애가 선언됐고, 07:45에 SLO 가 회복됐다."},"updated_at":"2026-11-10T00:00:41.227783Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0209","org_slug":"gitlab"}