【发布时间】:2020-06-24 17:20:35
【问题描述】:
我创建了一个具有以下时间表的 k8s CronJob(每分钟运行一次):
schedule: "*/1 * * * *"
我看到我的 CronJob 已创建:
NAMESPACE NAME READY STATUS RESTARTS AGE
job-staging job-1593017820-tt2sn 2/3 Running 0 10m
我的工作只是对日志执行一次 Printf,然后退出。
当我执行kubernetes get cronjob 时,我看到了:
NAMESPACE NAME READY STATUS RESTARTS AGE
job-staging job */1 * * * * False 1 19m 19m
当我查看日志时,它看起来只运行了一次,这是第一次运行。我需要阻止我的程序退出吗?
我认为 k8s 会重新启动我的程序,但也许这是一个错误的假设。
【问题讨论】:
-
脚本是这个
func main() { log.Printf("job: start") log.Printf("job: done") } -
apiVersion: batch/v1beta1 kind: CronJob metadata: name: {{ .Values.CronJob }} namespace: {{ .Values.CronJob }}-{{ .Values.ServiceStage }} labels: app: {{ .Values.CronJob }}-{{ .Values.ServiceStage }} spec: concurrencyPolicy: Forbid failedJobsHistoryLimit: 20 successfulJobsHistoryLimit: 20 schedule: "*/1 * * * *" jobTemplate: spec: template: metadata: name: scheduler-cron spec:
标签: kubernetes