-
카테고리
-
세부 분야
데브옵스 · 인프라
-
해결 여부
미해결
RestartPolicy는 안알려 주시나요? ㅠㅠ
21.02.17 18:23 작성 조회수 308
1
크론잡 강의 때 파드 라이프 사이클에서 알려주신다고 해서요 ㅠㅠ 궁금해요
답변을 작성해보세요.
2
일프로
지식공유자2021.02.18
안녕하세요.
크론잡 강의를 다시 들어보니.. 제가 떡밥을 회수하지 못했네요 ㅠㅜ
영상강의를 업데이트 하기는 힘들것 같고, 강의 자료실에 업데이트 하겠습니다.
그전에 먼저 답변으로 말씀드리면,
라이프 사이클 강의를 통해 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가 재기동 되는거지 재생성 되는게 아니라는점 혼동하시면 안되고요.
해당 내용에 질문 있으시면 추가로 말씀해주세요.
감사합니다.
답변 1