ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pod의 Lifecycle
    Computer Science/k8s 2023. 3. 26. 14:19

    Pod의 Status

    Phase

    • Pending
      1. 우선 Pod가 어느 Node 위에 올라갈지 결정한다. 지정된 것이 있다면 지정된 것을 사용하고 아니면 k8s가 판단한다. 성공적으로 실행될 시 PodScheduled가 true 아니면 false 가 된다.
      2. 본 Container가 기동되기 전에 초기화 해야하는 것이 있다면 실행한다.( initContainer ) 성공적으로 실행될 시 Initalized 가 true 아니면 false 가 된다.
      3. 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
Designed by Tistory.