사례2건
2건 중 1~2번째
IL-0530us-central1 의 가상 네트워크 라우터 컨트롤러가 메모리 부족으로 재시작을 되풀이해 새 VM 과 마이그레이션된 VM 의 네트워크가 오래 끊겼다Google Cloud2023- 증상
us-central1 에서 새로 만든 VM 은 네트워크가 동작하기까지 오래 기다려야 했고, 라이브 마이그레이션된 VM 은 마이그레이션 뒤 오래 연결을 잃었다. us-central1 을 오가는 리전 간 트래픽에서 패킷 손실이 났다. 기존 VM 중 마이그레이션되지 않고 상태도 바뀌지 않은 VM 은 직접 영향을 받지 않았다.
- 촉발
관리 플레인의 동작 변경이 us-central1 에 배포됐다. 이 변경은 로드 밸런서 백엔드로 쓰는 GCP Instance Group 과 Network Endpoint Group 의 API 업데이트 처리를 더 잘 분리하려는 것이었다. 이 리전의 큰 워크로드 규모 때문에 가상 네트워크 라우터 컨트롤 플레인의 메모리가 예상 밖으로 늘었다.
- 원인
- 구성 요소
- 기여 요인
- 감지
엔지니어들은 10월 4일 미국 태평양 시간 21:45 에 us-central1 가상 네트워크 컨트롤 플레인이 느리다는 알림을 받았고, 10월 5일 02:11 에 가상 네트워크 라우터 컨트롤러가 메모리를 다 써서 실패한다는 알림을 받았다. 03:08 부터는 네트워크 텔레메트리가 us-central1 을 오가는 리전 간 패킷 손실을 보여 주었다.
- 조치
- 컨트롤러에 메모리를 더 할당하는 변경을 배포했고, 이 변경은 미국 태평양 시간 05:27 부터 운영 환경에 닿았다. 08:15 에 리전 안 패킷 손실이 가라앉았다.
- 08:52 에 관리 플레인 변경의 롤백을 시작해 09:35 에 us-central1 에서 마쳤고, 이때 메모리 부족이 모두 멈췄다.
- 업데이트를 받지 않던 라우터 몇 대를 손으로 재시작했다. 이 재시작으로 패킷 손실이 더 생기지는 않았다.
- 후속 조치
- 메모리 위험과 예상 밖의 메모리 증가를 미리 알리는 알림을 만든다.
- 엔지니어가 메모리를 훨씬 빨리 다시 할당할 수 있도록 배포 설정을 다시 짠다.
- API 조정 작업의 기존 관행과 안전장치를 다시 평가하고 새 관행과 안전장치를 만든다.
- 관리 플레인 변경을 여러 팀이 더 잘 볼 수 있게 해 장애와 더 빨리 연결 짓게 한다.
- 리전 단위 API 변경 때문에 리전 전체의 메모리가 한꺼번에 바닥나는 일이 줄도록 배포 구성을 바꾼다.
- 트래픽 라우터와 컨트롤러의 메모리를 최적화해 불필요한 부담을 없앤다.
IL-0142GKE 1.24 이상 클러스터에서 로그를 처리하는 구성 요소의 새 버전이 불필요한 오류 로그를 쏟아내 일부 고객의 Logging API 쓰기 할당량이 바닥났다Google Cloud2023- 증상
2023년 7월 6일 07시 13분 US/Pacific 부터 GKE 1.24 이상 클러스터의 로그에 예상하지 못한 메시지가 추가로 찍히기 시작했다. Standard 클러스터와 Autopilot 클러스터 모두 해당됐다.
- 촉발
로그 처리를 맡은 GKE 구성 요소의 새 버전이 배포됐다. Google 은 예비 분석에서 이것을 근본 원인으로 꼽았다.
- 원인
- 구성 요소
- 기여 요인
- –
- 조치
- 우회 방법으로, 고객에게 Logging API 할당량 증설을 요청하거나 `fluentbit-gke` 컨테이너와 `fluentbit` 로그의 해당 메시지를 걸러 내는 로그 제외 규칙을 적용하라고 안내했다.
- 수정본을 시험한 뒤 2023년 7월 10일부터 영향받은 클러스터에 점진적으로 배포했고, 7월 18일 배포가 끝나 장애가 해소됐다.
- 교훈
관리형 로그 에이전트의 업데이트 하나로도 프로젝트의 Logging API 쓰기 할당량이 바닥날 수 있다. 할당량을 넘기면 정작 필요한 다른 로그가 버려진다. Google 은 프로젝트당 노드가 수천 개인 매우 큰 워크로드에서 이 로그가 할당량을 넘길 수 있다고 안내했다. 플랫폼이 고칠 때까지는 메시지 내용을 기준으로 한 로그 제외 규칙으로 저장과 요금 증가를 막을 수 있었다.
이 2건에서 가장 많이 나오는 구성 요소: 클라우드 로드 밸런서, 네트워크 컨트롤 플레인. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.