27장. Kubernetes CronJob과 종료 계약
CronJob은 시간을 맞추지만 JobRepository 의미를 대신하지 않는다. concurrencyPolicy, missed schedule, retry, active deadline과 history retention을 업무 계약에 맞춘다. cluster 밖 수동 실행은 별도 launch lock과 JobInstance가 막는다.
종료 신호 뒤 readiness를 내리고 새 chunk를 시작하지 않으며 현재 transaction이 termination grace 안에 끝나게 한다. 강제 종료로 repository가 STARTED에 남으면 상태를 임의로 COMPLETED로 바꾸지 않고 대사 후 복구한다.
image는 digest로 고정한다. secret은 image·Git·command line에 넣지 않는다. service account는 입력 읽기, 결과 쓰기, 필요한 secret 읽기만 갖는다.