작성
·
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
2
1
1
안녕하세요!
cronjob에 대한 문의는 강의만들고 처음이네요^^
저도 실무에서 cronjob은 쓸 기회가 없어서 강의 만들면서 공부한 이후에 손을 놓고 있는 상태입니다 ㅎ
이종현님 덕분에 다시한번 cronjob에 대해서 되새겨 보게되었네요.
처음 저도 도큐먼트상에서는 기존 job을 죽이고 새로운 job을 생성한다는 개념으로 이해했었는데 실습을 해보니 그렇게 동작하지 않고 제가 강의로 설명드린대로 동작을 했었습니다.
실제로도 [실습강의]에서는 그렇게 동작하는 내용을 보실 수 있으실꺼고요.
일단 1.19.2버전에선 도큐먼트 내용대로 동작한다고 하면 그게 맞는것 같고요.
저도 다시한번 테스트 해보고 강의 내용을 업데이트 해야겠네요.
메뉴얼로 만든 job 삭제 부분도 마찬가지입니다.
확인이 되는대로 답글 드리겠습니다.
감사합니다.
1.19버전 이후 변경사항
Replace 모드 : 2min이 되었을 시 기존 Job은 삭제되고 (기존 Pod도 같이 삭제됨), 새 Job이(새 pod 생성) 만들어집니다.