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

  • tech/k8s-job.txt
  • 上一次變更: 2021/09/06 22:28
  • jonathan