강의

멘토링

로드맵

Inflearn Community Q&A

curyowo1114's profile image
curyowo1114

asked

The Trend is Kubernetes (Beginner to Intermediate Edition)

Pod - Lifecycle

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

Written on

·

448

1

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

kubernetesdocker

Answer 1

2

1pro님의 프로필 이미지
1pro
Instructor

안녕하세요.

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

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

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

라이프 사이클 강의를 통해 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가 재기동 되는거지 재생성 되는게 아니라는점 혼동하시면 안되고요.

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

감사합니다.

curyowo1114's profile image
curyowo1114

asked

Ask a question