有關 K8s 的 Job 定義
- Q: 透過 rancher pipeline 執行的 job 第一次會成功, 第二次就會失敗
- A: 主要的原因是 metadata.name 出現相同就會失敗, 所以可使用 pipeline 的序號變數來當 name Exp.
apiVersion: batch/v1 kind: Job metadata: name: ${CICD_GIT_REPO_NAME}-${CICD_EXECUTION_SEQUENCE} :
- Q: 因為 name 是序號產生, 所以執行後的 Job 會愈來愈多, 如何自動刪除呢?
- A: 可以透過 spec.ttlSecondsAfterFinished = 0 來設定 TTL , 讓 K8s 可自動回收 Exp.
apiVersion: batch/v1 kind: Job metadata: name: ${CICD_GIT_REPO_NAME}-${CICD_EXECUTION_SEQUENCE} namespace: ${CICD_GIT_REPO_NAME} spec: ttlSecondsAfterFinished: 0 template: metadata: name: ${CICD_GIT_REPO_NAME}-${CICD_EXECUTION_SEQUENCE} :