-
Pod의 LifecycleComputer Science/k8s 2023. 3. 26. 14:19
Pod의 Status
Phase
- Pending
- 우선 Pod가 어느 Node 위에 올라갈지 결정한다. 지정된 것이 있다면 지정된 것을 사용하고 아니면 k8s가 판단한다. 성공적으로 실행될 시 PodScheduled가 true 아니면 false 가 된다.
- 본 Container가 기동되기 전에 초기화 해야하는 것이 있다면 실행한다.( initContainer ) 성공적으로 실행될 시 Initalized 가 true 아니면 false 가 된다.
- Container에 이미지를 다운한다. 3까지 과정 동안 Container의 상태는 Waiting이고 Reason 은 ContainerCreating 이다.
- Running
- Pod가 정상동작중인 상태이다. Container는 정상동작 하지 않을 수 있다.
- Container가 기동중에 문제가 발생하여 재시작된다면 Container의 상태는 Waiting이고 Reason은 CrashLoopBackOff이다. 이때에도 Running 상태이며 내부 Condition에서 ContainerReady와 Ready가 False이다.
- Failed
- 작업을 하는 Container일 경우에 Error가 발생된다면 Failed가 된다. ContainerReady와 Ready가 False가 된다. Pending상태일 경우에 실패하여도 이 상태가 된다.
- Succeeded
- 작업을 하는 Container가 모두 Completed가 된다면 Succeeded가 된다.ContainerReady와 Ready가 False가 된다. 작업을 하는 Container가 모두 Completed가 된다면 Succeeded가 된다.
- Unknown
- Pending이나 Running중에 통신장애 등이 발생한다면 Unknown이 된다. 계속 지속이 될 경우 Failed로 가게 된다.
Conditions
- Initialized
- initContainer 정상 실행시 true
- ContainerReady
- Container 정상 실행시 true
- PodScheduled
- Pod가 어느 Node에 기동될지 정해졌을 때 true
- Ready
- ContainersReady, Intialization, volume 등 전부 성공시 true
- Reason
- 실패시 이유를 알려주는 곳
- ContainersNotReady
- PodCompleted
Containers
- container state
- Wating
- Running
- Terminated
- Reason
- ContainerCreating
- CrashLoopBackOff
- Error
- Completed
'Computer Science > k8s' 카테고리의 다른 글
k8s Secret 적용 및 Containers 에서 사용하기 (0) 2023.06.30 Pod - readiness, liveness, startup probe (0) 2023.03.26 k8s service (0) 2023.03.04 k8s deployment (0) 2023.03.04 aws eks worker node 생성 (0) 2023.03.04 - Pending