경험 중심 1인칭 답변
Kubernetes 프로덕션에서 가장 어려웠던 장애는 특정 노드에서만 Pod가 주기적으로 Eviction되는 현상이었습니다. 로그를 보면 메모리 부족으로 나왔지만, 다른 노드와 스펙이 동일했기 때문에 단순 용량 문제가 아니라고 판단했습니다. 먼저 kubectl describe node로 해당 노드의 조건을 확인하고, Taint·Toleration 설정과 리소스 Request/Limit 불일치를 점검했습니다. 원인은 특정 팀의 워크로드가 Limit 없이 배포되어 메모리를 무제한으로 소비하고 있었던 것이었습니다. 단기 조치로 해당 Pod를 다른 노드로 이동시키고, 리소스 쿼터 정책을 네임스페이스 단위로 적용해 재발을 방지했습니다. 이 경험을 통해 Kubernetes 장애는 컨테이너 레벨이 아니라 클러스터 설정 레벨에서 원인을 찾아야 하는 경우가 많다는 것을 배웠습니다. 앞으로도 Kubernetes 운영을 할 때 컨테이너 레벨이 아니라 클러스터 설정 레벨에서 원인을 먼저 찾는 접근을 유지하겠습니다.
장애 분석은 가장 가까운 증상보다 구조적 원인을 보는 것이 중요합니다.