사례1건
1건 중 1~1번째
- 증상
2017-03-20 12:44 에 새 학생 서버가 500 오류를 내며 로그인을 막는다는 보고가 들어왔다. 한 사람의 문제가 아니라 널리 퍼진 증상이었다.
- 촉발
2017-03-18 16:30 에 자원을 아끼려고 학생 한 명에게 주는 메모리를 2G 에서 1G 로 줄였지만, 노드 크기는 26G RAM 그대로 두었다. 그 결과 Google Cloud 의 노드당 디스크 개수 한도에 닿았다.
- 원인
- 구성 요소
- 기여 요인
- 감지
12:44 에 새 학생 서버가 500 오류로 로그인을 막는다는 보고가 들어왔고, 팀은 이것이 한 사람의 문제가 아니라 널리 퍼진 장애라고 판단했다.
- 조치
- Google Container Engine 이 쓰는 인스턴스 템플릿을 복사해 n1-highmem-4 대신 더 작은 n1-highmem-2 노드를 띄우도록 고쳤다.
- Google Container Engine 의 관리형 인스턴스 그룹이 새 템플릿을 쓰게 바꿨다.
- 새 인스턴스 그룹을 30노드 늘렸다. 노드 하나에 학생 12명쯤이 들어가는 용량이었다.
- populate.bash 를 돌려 새 노드에서 학생 파드가 제때 뜨게 했다.
- 노드가 섞인 낯선 상태에서 오작동할까 봐 간단한 오토스케일러를 멈췄다.
- 'redirected too many times' 오류를 알려 온 사용자마다 관리자가 제어판에서 그 사용자의 파드를 멈췄다가 다시 켰다.
- 'redirected too many times' 오류가 많이 나서 허브 파드와 프록시 파드를 재시작했다.
- 후속 조치
- 이번에 부딪힌 쿠버네티스 버그인 kubernetes/kubernetes 이슈 24317 의 진행을 지켜본다.
- JupyterHub 의 'too many redirects' 문제를 근원에서 찾아 고친다.
- 더 이상 쓰지 않는 예전의 큰 노드를 모두 지운다.
- 파드가 Pending 상태로 무시할 수 없을 만큼 오래 머물면 개수와 상관없이 알림을 보낸다.
내 클러스터에도 있는지 확인하기
이 사례에서 가장 많이 나오는 구성 요소: 클라우드 블록 스토리지, 컨테이너 메모리 한도. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.