====== 有關 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} : ===== 參考網址 ===== * https://kubernetes.io/zh/docs/concepts/workloads/controllers/job/ {{tag>k8s job yaml}}