brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Mar 10. 2022

114. 파드의 상태(STATUS) 4/8

<1>  파드의 상태(STATUS)

<2> completed.yaml : sleep 5초 후 종료 코드 0 반환 후 종료

<3> onfailure.yaml : restartPolicy: OnFailure, sleep 5초 후 종료 코드 1 반환 후 종료

<4>  onfailure2.yaml : restartPolicy: OnFailure, sleep 5초 후 종료 코드 0 반환 후 종료




<1>  파드의 상태(STATUS)

Running : 포드에 포함된 컨테이너들이 모두 생성돼 포드가 정상적으로 실행된 상태입니다.

Completed : 포드가 정상적으로 실행돼 종료됐음을 의미합니다. 포드 컨테이너의 init 프로세스가 종료 코드로서 0을 반환한 경우에 해당합니다.

Error : 포드가 정상적으로 실행되지 않은 상태로 종료됐음을 의미합니다. 포드 컨테이너의 init 프로세스가 0이 아닌 종료 코드를 반환했을 때에 해당합니다.

Terminating : 포드가 삭제 또는 퇴거(Eviction)되기 위해 삭제 상태에 머물러 있는 경우에 해당합니다.

Completed, Error **:** 리눅스의 프로세스 또한 종료될 때 종료 코드를 반환

Pending : 포드를 생성하는 요청이 API 서버에 의해 승인됐지만, 어떠한 이유로 인해 아직 실제로 생성되지 않은 상태입니다.




<2> completed.yaml : sleep 5초 후 종료 코드 0 반환 후 종료


cat  << EOF > completed.yaml

apiVersion: v1

kind: Pod

metadata:

  name: completed-pod

spec:

  containers:

    - name: completed-pod

      image: busybox

      command: ["sh"]

      args: ["-c", "sleep 5 && exit 0"]

EOF





2

kubectl apply -f completed.yaml 


kubectl get pod -w


[root@test11 ~]# kubectl apply -f completed.yaml

pod/completed-pod created


[root@test11 ~]# kubectl get pod -w

NAME            READY   STATUS    RESTARTS   AGE

completed-pod   1/1     Running   0          6s


3

파드 restartPolicy 정책 확인

[root@test11 ~]# kubectl get pod completed-pod -o yaml | grep restartPolicy

  restartPolicy: Always




<3> onfailure.yaml : restartPolicy: OnFailure, sleep 5초 후 종료 코드 1 반환 후 종료


1

cat  << EOF > onfailure.yaml

apiVersion: v1

kind: Pod

metadata:

  name: completed-pod

spec:

  restartPolicy: OnFailure

  containers:

    - name: completed-pod

      image: busybox

      command: ["sh"]

      args: ["-c", "sleep 5 && exit 1"]

EOF




2

kubectl apply -f onfailure.yaml 


kubectl get pod -w


3

kubectl delete pod --all




<4>  onfailure2.yaml : restartPolicy: OnFailure, sleep 5초 후 종료 코드 0 반환 후 종료


1

cat  << EOF > onfailure2.yaml

apiVersion: v1

kind: Pod

metadata:

  name: completed-pod

spec:

  restartPolicy: OnFailure

  containers:

    - name: completed-pod

      image: busybox

      command: ["sh"]

      args: ["-c", "sleep 5 && exit 0"]

EOF




2

kubectl apply -f  onfailure2.yaml


kubectl get pod -w


3

kubectl delete pod --all


다음 과정

https://brunch.co.kr/@topasvga/2236


https://brunch.co.kr/@topasvga/2240



감사합니다.


매거진의 이전글 113. Pod 와 컨테이너 알아보기 3/8
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari