← 문제 라이브러리
CI/CD 중급 CICD-064 · 20분

앱 배포는 끝났는데 Helm 업그레이드가 post-upgrade 훅에서 시간 초과

주문 서비스 v5.1을 Helm으로 운영에 배포했습니다.

검수된 문제무료
시나리오

주문 서비스 v5.1을 Helm으로 운영에 배포했습니다. 새 파드는 모두 떠서 트래픽도 정상인데, helm upgrade 가 post-upgrade 훅에서 10분을 기다리다 실패해 릴리스 승격 게이트가 막혔습니다. 이 훅은 배포 뒤 DB 스키마를 검증하는 Job입니다. 이번 버전은 트래픽 증가에 맞춰 레플리카를 6개에서 10개로 늘렸습니다. 담당자는 Helm 타임아웃을 30분으로 늘려 다시 돌리자고 합니다. 릴리스 승격이 막혀 오후에 예정된 다른 서비스 배포들도 줄줄이 대기 중입니다.

단서
helm · kubectl
Error: UPGRADE FAILED: post-upgrade hooks failed: 1 error occurred:
	* timed out waiting for the condition

$ kubectl get job orders-schema-verify
NAME                    COMPLETIONS   DURATION   AGE
orders-schema-verify    0/1           10m        10m
$ kubectl get pods -l job-name=orders-schema-verify
No resources found in orders namespace.
kubectl describe job orders-schema-verify (이벤트)
Warning  FailedCreate  job-controller  Error creating: pods "orders-schema-verify-8x2kq" is forbidden: exceeded quota: team-quota, requested: limits.cpu=2, used: limits.cpu=15, limited: limits.cpu=16

과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.

먼저 볼 것
  • 멈춘 대상이 앱 Deployment인지 훅 Job인지 구분하기
  • Job이 파드를 못 만드는 이유
점검 체크리스트
  1. helm 오류가 가리키는 단계(훅)
  2. kubectl get job / pods 로 훅 파드가 생겼는지
  3. describe job 의 FailedCreate 이벤트와 ResourceQuota 사용량