인프런 커뮤니티 질문&답변

이종현님의 프로필 이미지
이종현

작성한 질문수

대세는 쿠버네티스 [초급~중급]

DaemonSet, Job, CronJob

concurrencyPolicy replace

작성

·

260

3

안녕하세요 태민님

태민님 강의를 너무 잘 듣고 있는 강의생입니다 :)

CronJob 부분을 보던 도중 ConcurrencyPolicy 중 Replace policy에 대한 내용에 대해 확인 한 번 부탁드리려고 문의드립니다.

설명하시기로는 Replace policy 모드에서 기존 job이 실행중일 때 새로운 잡이 생기지는 않지만 기존 job은 계속 유지되고 job을 실행하는 파드만 새로 생성되고 기존 pod는 살아있는 방식으로 말씀하시는 것 같은데 이렇게 설명해주고 계신게 맞는지요 ?

그런데 직접 해보면 기존 잡이 실행중일 때 기존 잡과 실행중이던 파드를 없애고 새로운 잡을 통해 새로운 파드가 같이 생성됩니다.

official document에서도 확인해보니 아래와 같이 하나의 cron job에 하나의 job만 유지할 수 있도록 해주는 개념으로 설명되어 있습니다.

Replace: "새로운 잡을 실행할 시간이고 이전 잡 실행이 아직 완료되지 않은 경우, 크론 잡은 현재 실행 중인 잡 실행을 새로운 잡 실행으로 대체한다."

해당 내용에 대해서 한 번 확인 부탁드립니다.

* 아, 그리고 제 로컬 kubenetes 1.19.2 에선 cronjob을 삭제 할 시 메뉴얼로 만든 job들도 같이 삭제 되는데 버전이 상이하여 다른 부분이 맞는지도 궁금합니다.

답변 4

3

일프로님의 프로필 이미지
일프로
지식공유자

1.19 버전에서 말씀하신 내용대로 동작 확인하였고, 

강의 자료실에 내용 업데이트 했습니다.

감사합니다^^

2

이종현님의 프로필 이미지
이종현
질문자

그렇군요 답변 감사합니다 :)

1

혹시 그러면 1.19버전 이후에서 replace모드와 allow모드는 수행방식이 같게 되는 건가요?

일프로님의 프로필 이미지
일프로
지식공유자

1.19버전 이후 변경사항

Replace 모드 : 2min이 되었을 시 기존 Job은 삭제되고 (기존 Pod도 같이 삭제됨), 새 Job이(새 pod 생성) 만들어집니다.

ConcurencyPolicy 1.19 with CronJob for Kubernetes.

1

일프로님의 프로필 이미지
일프로
지식공유자

안녕하세요!

cronjob에 대한 문의는 강의만들고 처음이네요^^

저도 실무에서 cronjob은 쓸 기회가 없어서 강의 만들면서 공부한 이후에 손을 놓고 있는 상태입니다 ㅎ

이종현님 덕분에 다시한번 cronjob에 대해서 되새겨 보게되었네요.

처음 저도 도큐먼트상에서는 기존 job을 죽이고 새로운 job을 생성한다는 개념으로 이해했었는데 실습을 해보니 그렇게 동작하지 않고 제가 강의로 설명드린대로 동작을 했었습니다.

실제로도 [실습강의]에서는 그렇게 동작하는 내용을 보실 수 있으실꺼고요.

일단 1.19.2버전에선 도큐먼트 내용대로 동작한다고 하면 그게 맞는것 같고요.

저도 다시한번 테스트 해보고 강의 내용을 업데이트 해야겠네요. 

메뉴얼로 만든 job 삭제 부분도 마찬가지입니다.

확인이 되는대로 답글 드리겠습니다.

감사합니다.

이종현님의 프로필 이미지
이종현

작성한 질문수

질문하기