Container Startup
Container Startup 관련 장애 문제 18개를 모았습니다. 검수된 문제부터 풀어 보세요.
먼저 읽을 가이드
ConfigMap은 바뀌었는데 Pod가 이전 값을 계속 쓸 때ConfigMap 업데이트 이후 envFrom, subPath, volume projection, rollout trigger 차이로 값이 갱신되지 않는 상황Kubernetes3분 읽기CoreDNS는 Running인데 DNS 조회만 실패할 때CoreDNS Pod는 정상처럼 보이지만 kube-dns 경로, upstream, node-local-dns, policy에서 실패하는 상황Kubernetes3분 읽기CrashLoopBackOff가 뜰 때 가장 먼저 볼 것Pod가 반복 재시작하면서 이전 로그와 event에 실제 원인이 남는 상황Kubernetes5분 읽기
추천 문제
검수된 문제를 먼저, 그다음 시나리오가 자세한 문제를 보여 줍니다.
모든 문제 18개
ImagePullBackOff: 새 버전 파드가 이미지를 받지 못함이미지 태그를 새 버전으로 바꿔 배포했더니 새 파드가 ImagePullBackOff에서 멈췄습니다.검수Kubernetes입문3분무료K8S-1192새 노드에 배포하면 liveness probe가 기동 중인 앱을 계속 죽임주문 조회 서비스(JVM)에 인터넷에서 찾은 공개 예제의 probe 설정을 그대로 붙여 두었습니다.검수Kubernetes고급21분무료K8S-1235init 작업이 권한은 고치는데 주 컨테이너가 계속 실패CSI 마운트와 init 로직의 상대적 타이밍에 따라 pod가 어떤 재시작에서는 성공하고 어떤 때는 실패합니다.Kubernetes중급18분ProK8S-1216init 컨테이너는 맞아 보이는데 계속 빈 secret 파일을 읽음pod가 마운트된 secret을 읽는 init 단계를 거쳐 부팅하는데 콜드 스타트에서만 실패합니다.Kubernetes고급18분ProK8S-1220메모리를 올리자 pod 재시작은 멈췄는데 롤아웃이 계속 실패팀이 직접적인 크래시 원인은 고쳤는데, health 타이밍 계약을 갱신하지 않아 롤아웃을 끝내지 못합니다.Kubernetes고급18분ProK8S-1213PVC는 bound인데 pod가 계속 롤아웃 창을 놓침stateful 워크로드가 PVC는 받는데 시작할 때마다 계속 멈춘 것처럼 보입니다.Kubernetes고급20분ProK8S-1228ConfigMap 키는 있는데 앱이 계속 크래시ConfigMap을 수정하면 마운트된 설정 파일이 제자리에서 갱신될 거라 여겨 애플리케이션 재시작을 건너뛰었습니다.Kubernetes중급17분ProK8S-1222init 컨테이너는 완료되는데 앱이 계속 크래시init 컨테이너가 생성 설정을 성공적으로 만드는데 앱이 그것 없이 시작합니다.Kubernetes중급17분ProK8S-1204kubectl logs에 증상은 보이는데 원인은 안 보임현재 로그에는 probe나 wrapper 잡음만 있어 재시작 루프가 알 수 없어 보입니다. 정작 중요한 증거는 운영자가 보지 않은 직전 인스턴스에 있습니다.Kubernetes중급17분ProK8S-1233projected secret 파일은 있는데 앱이 계속 옛 값을 봄워크로드가 secret을 성공적으로 갱신하는데, 애플리케이션이 전체 재시작 전까지 최초 secret 값을 계속 읽습니다.Kubernetes중급17분ProK8S-1218이 리비전에서는 실제로 돌지 않는 마이그레이션 작업 뒤에야 probe 경로가 서빙돼 readiness가 영영 false컨테이너 자체는 멀쩡한데 ready가 되지 않습니다 — probe가 기대하는 경로가 배포된 리비전에 없는 기동 단계나 job 경로에 속합니다.Kubernetes중급17분ProK8S-1207현재 로그만 읽어 CrashLoopBackOff 디버깅이 진짜 스택 트레이스를 놓침현재 로그에는 wrapper 잡음만 보이고 쓸모 있는 크래시 신호는 이전 컨테이너 인스턴스에 있습니다.Kubernetes중급17분ProK8S-1230init 컨테이너가 DNS를 영원히 기다림pod 설계가 init 단계가 끝나기도 전에 이후 단계의 네트워크 정책이나 sidecar 구성이 준비돼 있다고 전제합니다.Kubernetes중급18분ProK8S-1225probe 예산이 소진된 뒤에야 정상이 되는 sidecar에 엔드포인트가 의존해 startup probe가 계속 실패주 컨테이너는 멀쩡한데 기동이 성공하지 못합니다 — readiness 경로가 나중에 뜨는 다른 컨테이너나 sidecar에 의존합니다.Kubernetes중급18분ProK8S-1211느린 애플리케이션에는 더 긴 liveness 지연이 아니라 startup probe가 필요했는데 그대로 둬 readiness가 끝내 안정되지 않음길게 보면 컨테이너는 정상인데 트래픽이 안정되지 않습니다 — 기동을 제대로 분리하는 대신 readiness와 liveness를 느린 부팅에 맞춰 늘려놨습니다.Kubernetes중급18분ProK8S-1191새 manifest에 필수 ConfigMap 키가 없어 init 컨테이너가 실패pod가 주 컨테이너까지 가지 못합니다 — init 단계가 갱신된 ConfigMap이 더 이상 제공하지 않는 설정 키를 기대합니다.Kubernetes중급18분ProK8S-1202CrashLoopBackOff가 앱 실패처럼 보이는데 첫 부팅에서 마운트된 파일 하나가 비어 있어 init 스크립트가 종료앱 바이너리는 멀쩡한데 pod가 반복해서 죽습니다 — 부트스트랩 스크립트가 첫 기동 타이밍에 비어 있는 projected 파일을 읽습니다.Kubernetes중급19분ProK8S-1197Helm 리팩터 후 옮겨진 secret 마운트 경로를 시작 스크립트가 읽어 CrashLoopBackOff차트가 이제 secret을 다른 곳에 projection하는데도 시작 스크립트가 계속 옛 secret 마운트 위치를 참조해 앱 컨테이너가 끝없이 재시작합니다.Kubernetes중급19분Pro