Kubernetes CronJob创建的成品Pod在一段时间后被删除

时间:2019-11-15 16:01:13

标签: kubernetes kubernetes-jobs

我使用下面的yaml文件创建了一个CronJob。

kind: CronJob
metadata:
  name: $DEPLOY_NAME
spec:
  # Run the job once a day at 8 PM
  schedule: "0 20 * * *"
  # If the previous job is not yet complete during the scheduled time, do not start the next job
  concurrencyPolicy: Forbid
  jobTemplate:
      spec:
        # The pods will be available for 3 days (259200 seconds) so that logs can be checked in case of any failures
        ttlSecondsAfterFinished: 259200
        template:
          spec:
            containers:
            - name: $DEPLOY_NAME
              image: giantswarm/tiny-tools
              imagePullPolicy: IfNotPresent
              resources:
                requests:
                  cpu: "0.01"
                  memory: 256Mi
                limits:
                  cpu: "0.5"
                  memory: 512Mi
              command: ["/bin/sh"]
              args: ["-c", "cd /home/tapi && sh entrypoint.sh"]

ttlSecondsAfterFinished中所述,k8s将我的工作保留在集群中。但是,由作业创建的窗格(完成后)将在一段时间后删除。

根据garbage collection policy,我的pod对象应取决于我的工作。而且由于作业对象不是垃圾收集的,所以我的pod对象也应该保持活动状态。我想念什么吗?

1 个答案:

答案 0 :(得分:0)

.spec.successfulJobsHistoryLimit和.spec.failedJobsHistoryLimit字段是可选的。 这些字段指定应保留多少已完成和失败的作业。 默认情况下,它们分别设置为3和1。

您可能需要将这些字段设置为适当的值