====== 有關 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}}