我使用下面的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对象也应该保持活动状态。我想念什么吗?
答案 0 :(得分:0)
.spec.successfulJobsHistoryLimit和.spec.failedJobsHistoryLimit字段是可选的。 这些字段指定应保留多少已完成和失败的作业。 默认情况下,它们分别设置为3和1。
您可能需要将这些字段设置为适当的值