Compeleted pod란?

작성자 김아름 수정일 2022-10-17 15:44

#kubernetes, #쿠버네티스, #pod, #status, #compeleted

들어가며

  • pod의 상태를 조회하면 ContainerCreating, Running, Completed 등의 상태를 확인할 수 있습니다.

  • pod의 라이프 사이클에 대해 알게 된다면, pod의 상태를 이해하는데 도움이 됩니다.



Pod 의 라이프 사이클 알아보기

기본적으로 pod는 정의된 라이프사이클을 따릅니다.

pod는 Pending 단계에서 시작하여 Running 단계를 거쳐, 컨테이너의 종료 상태에 따라 Succeded 또는 Failed 단계로 이동합니다.


설명
Pending하나 이상의 컨테이너가 설정되지 않았고 실행할 준비가 되지 않았습니다.
RunningPod가 노드에 바인딩되었으며, 모든 컨테이너가 생성되었습니다.
SucceededPod의 모든 컨테이너가 성공적으로 종료되었습니다.
FailedPod의 모든 컨테이너가 종료되었으며, 하나 이상의 컨테이너가 실패로 종료되었습니다.
Unknown어떤 이유로 Pod의 상태를 가져올 수 없습니다.


위에 정리된 Pod의 상태 값은 describe 명령어를 통해 확인할 수 있습니다.

kubectl describe po <pod-name> | grep Status

kubectl describe po devainexus-0 | grep Status
Status:       Running


Pod를 조최했을 때, Compeleted로 보이는 Pod도 확인해 보겠습니다.

현재 Pod의 상태가 Succeeded임을 알 수 있습니다.

kubectl describe po nexus-pypi-loader-lscqn | grep Status
Status:       Succeeded


이것은 Job에 의해 Pod를 생성했기 때문입니다.

Job은 하나 이상의 Pod를 생성하고, 지정된 수의 Pod가 성공적으로 종료될 때 까지 Pod의 실행을 계속 시도합니다.

Pod가 성공적으로 완료되면, 해당 작업은 Compelete이 됩니다.


그렇다면, 위의 Succeeded 상태의 Pod로 확인해보겠습니다.

kubectl describe po nexus-pypi-loader-lscqn | grep Controlled
Controlled By:  Job/nexus-pypi-loader

위 결과에서 알 수 있듯이, nexus-pypi-loader 라는 이름의 Job에 의해 Pod가 생성되었습니다.

또한, Job에 의해 Pod가 성공적으로 작업을 완료했기 때문에 Compeleted 상태가 되었습니다.


Job에 의해 성공 종료가 된 Pod는 삭제해 주어도 무방합니다.



마무리

  • Pod의 실시간 상태를 확인하는 방법을 알아보았습니다.

  • 또한 Pod가 나타낸 Status 값의 의미에 대해 알아보았습니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300