IL-0020 UK Ministry of Justice · 2025-03-18kubernetesaws
2025-03-18, UK Ministry of Justice 의 Cloud Platform 팀은 live 클러스터를 EKS 1.30 으로 올리고 있었다. 업그레이드 중 디스케줄러가 cordon 된 노드의 파드를 모두 한꺼번에 다시 스케줄하려 했고, 종료된 파드가 다시 뜨지 않았다. 운영과 비운영 환경의 사용자 워크로드가 영향을 받았고 운영 서비스에 장애가 났다.
팀은 cordon 어노테이션을 지워 파드가 다시 스케줄되게 했고, 멈춘 1.30 노드 몇 대를 지워 새로 만들어지게 했다. 10:40 에 서비스가 돌아왔다. 보고서에 적힌 복구 시간은 1시간 37분이다. 11:13 에는 AWS 에 Production system down 지원 요청을 올렸다.
이어서 11:34 에 1.30 노드 20대로 된 새 노드 그룹을 손으로 추가해 워크로드를 안정시켰다. 11:50 부터 예전 1.29 노드를 모두 cordon 했고, 12:10 부터 drain 해 워크로드를 1.30 노드로 옮겼다. 16:16 에 모든 노드가 1.30 이 됐고, 정리 작업을 마친 2025-03-20 12:09 에 장애가 종료됐다.
2025-03-18 09:36, 사용자들이 운영과 비운영 환경 모두에서 파드가 종료되고 자동으로 다시 뜨지 않는다고 알렸다. 자동 인프라 알림도 함께 울렸고, 운영 서비스에 장애가 났다.
그때 live 클러스터는 EKS 1.30 으로 업그레이드하는 중이었다. 업그레이드를 위해 cordon 해 둔 노드에서 디스케줄러가 모든 파드를 한꺼번에 다시 스케줄하려 했다. 일부 1.30 노드는 멈춘 채로 남아 있었다.
팀은 09:50 에 원인을 조사하기 시작했고 10:03 에 장애를 선언했다. 10:15 부터 cordon 어노테이션을 지워 파드가 다시 스케줄되게 하고, 멈춘 1.30 노드 몇 대를 지워 새로 만들어지게 했다. 10:40 에 파드가 살아나고 서비스가 돌아왔다.
원인 배포 결함
팀은 자동 인프라 알림과 사용자 보고로 장애를 알았다. 09:36 에 사용자들이 파드가 종료되고 다시 뜨지 않는다고 알렸다.
이 글은 교훈 대신 후속 조치를 적었다. 조치를 보면 팀에는 비상용 노드 그룹을 급히 추가하는 문서화된 절차가 없었다. 오토스케일링 그룹과 쿠버네티스가 보는 노드가 어긋날 때 울리는 알림도, Pending 파드가 급증할 때 울리는 알림도 없었다. 팀은 디스케줄러가 cordon 된 노드를 어떻게 다루는지도 분명히 알지 못했다.
같은 원인 · 공통 클러스터 오토스케일러, 노드 풀
IL-0163 자동 테스트가 잡지 못한 API 변경이 배포돼 LKE 클러스터 크기를 바꿀 때 노드가 잘못된 수만큼 만들어졌고, 고객 계정에 과금되는 노드가 늘었다Linode · 2023같은 원인 · 공통 노드 풀
같은 원인 · 공통 노드 풀
IL-0149 2019-09-28 07:20 UTC 이전에 만든 VMSS 기반 AKS 클러스터의 업그레이드가 PlatformImageNotFound 오류로 실패했다.Microsoft Azure · 2019같은 원인 · 공통 노드 풀
https://incidentlib-mcp.benchlet.com/mcpAPI 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.