Incident Library
적용된 필터 원인배포 결함기여 요인부분 배포모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례2건

2건 중 1~2번째

  1. 증상

    2025년 3월 17일 16:38 UTC 쯤 여러 데이터센터에서 서버들에 오랫동안 연결할 수 없다는 내부 알림이 한꺼번에 울렸다. 같은 때 고객들도 여러 제품에서 문제를 신고하기 시작했다.

    촉발

    Akamai Compute 의 내부 백엔드 API 구성 요소를 릴리스하는 중이었다. 롤아웃이 이어지는 동안 이 API 의 응답이 서로 일치하지 않았다.

    원인
    구성 요소
    기여 요인
    감지

    16:38 UTC 쯤 여러 데이터센터에서 서버들에 오랫동안 연결할 수 없다는 내부 알림이 대거 울렸다. 같은 때 고객들도 여러 제품의 문제를 신고하기 시작했다.

    조치
    • 18:30 UTC 쯤부터 모든 데이터센터의 라우트 서버를 영향이 가장 큰 리전부터 단계적으로 재시작했고, 21:34 UTC 쯤 마쳤다.
    후속 조치
    • 라우트 서버가 받는 경로 데이터가 끊김 없이 이어지게 할 더 나은 방법을 마련할 때까지 백엔드 API 릴리스를 멈춘다.
  2. 증상

    뉴스 속보로 트래픽이 늘어 파드가 자동으로 늘어나던 중, 새로 뜨는 파드가 설정을 읽지 못해 시작하지 못했다. 컨테이너가 재시작을 거듭하며 파드가 차례로 죽어 장애가 났다.

    촉발

    옛 DB 를 폐기하려고 ConfigMap 과 코드에서 그 설정을 지운 릴리스가 Argo Rollouts 카나리로 파드 하나에만 나갔고, 전체 롤아웃을 잊은 상태였다. 그때 뉴스 속보로 트래픽이 늘어 구 버전 파드가 늘어났다.

    원인
    구성 요소
    기여 요인
    후속 조치
    • Argo Rollouts 의 canary 단계를 setWeight: 1 뒤 pause duration: 1h 를 거쳐 setWeight: 100 으로 자동 롤아웃하도록 설정을 바꿨다.
    • Helm 리소스에 "helm.sh/resource-policy": keep 주석을 달아 지난 버전의 ConfigMap 을 남기는 설정을 도입한다.
    • ConfigMap 이름에 넣은 리비전 번호로 최신부터 순서를 확인해 지난 버전을 정리하는 Helm 플러그인 helm-clear 를 만들었다. CD 에서 helm clear configmap 에 --history 5 를 주어 지난 다섯 버전만 남기게 했다.
    교훈

    옛 DB 를 없애는 일은 드무니 다음에 조심하자는 회고로는 장애가 곧 다시 난다. 사람의 주의력은 믿을 수 없으므로, 재발을 막으려면 사람의 주의에 기대지 않는 장치를 만들어야 한다. Argo Rollouts 도입 초기에는 사람의 손을 거치지 않고 자동으로 롤아웃되는 것을 걱정했다. 그러나 몇 년 운영해 보니 오히려 롤아웃을 잊는 일이 더 많았고, 큰 릴리스는 어차피 Datadog 같은 감시 화면을 지켜보므로 거의 잊지 않았다. 지난 ConfigMap 을 남기자 ConfigMap 이 바뀐 릴리스도 CI/CD 를 거치지 않고 빠르게 롤백할 수 있게 되었다.

내 클러스터에도 있는지 확인하기

이 2건에서 가장 많이 나오는 구성 요소: BGP 라우팅, 컨피그맵과 시크릿. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1