• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

RestartPolicy는 안알려 주시나요? ㅠㅠ

21.02.17 18:23 작성 조회수 308

1

크론잡 강의 때 파드 라이프 사이클에서 알려주신다고 해서요 ㅠㅠ 궁금해요

답변 1

답변을 작성해보세요.

2

안녕하세요.

크론잡 강의를 다시 들어보니.. 제가 떡밥을 회수하지 못했네요 ㅠㅜ

영상강의를 업데이트 하기는 힘들것 같고, 강의 자료실에 업데이트 하겠습니다.

그전에 먼저 답변으로 말씀드리면,

라이프 사이클 강의를 통해 Pod가 [Success]와 [Failure] 상태로 종료될 수 있다는걸 알게 됐을 겁니다.

그리고 위 그림을 설명 드리면.

RestartPolicy는 Pod에 설정하는 거지만, 보통 Pod는 Controller를 통해 관리 됩니다.

그래서 RestartPolicy를 [ReplicaSet/Deployment/StatefulSet]에서 사용하는 경우와 [Job/CronJob]에서 사용하는 경우를 분리해서 생각해야 되고.

[ReplicaSet/Deployment/StatefulSet]에서 사용했을때는 무조건 Always 로만 세팅을 할 수가 있습니다.

그래서 Pod가 [Success]건 [Failure]건 Teminated상태가 되면 무조건 재시작해요.

[Job/CronJob]에서는 OnFailure와 Never로만 세팅을 할 수가 있고요.

Never로 세팅을 하게되면 Pod가 [Success]건 [Failure]건 Teminated상태가 되도 재시작 하지 않지만,

OnFailure로 세팅을 하게 되었을때 Pod가 [Failure]시에는 Pod가 재시작 됩니다.

뭔가 복잡해 보일 수 있겠지만, 간단하게 생각하면

[ReplicaSet/Deployment/StatefulSet]에서는 무조건 Pod는 Running이 되도록 유지되야 하는거고요.

[Job/CronJob]에서는 Pod가 실패했을때 Restart를 시킬껀지 안시킬껀지 Never와 OnFailure로 결정하시면 되세요.

해당 Job이 실패했을때 다시 Restart되서 Job을 꼭 완료해야 할 경우 OnFailure를 사용해야 되겠죠.

Pod가 재기동 되는거지 재생성 되는게 아니라는점 혼동하시면 안되고요.

해당 내용에 질문 있으시면 추가로 말씀해주세요.

감사합니다.