题目要求 1.创建一个名为 ppi 并执行一个运行以下单一容器的 Pod 的 CronJob
1 2 3 - name: pi image: perl:5 command : ["perl" , " Mbignum=bpi" , " wle" , "print bpi(2000)" ]
CronJob配置 为:
每隔 5 分钟执行一次
保留 2 个已完成的 Job
保留 4 个失败的 Job
永不重启 Pod
在 8 秒后终止 Pod
2.为测试目的,从 CronJob ppi 中 手动创建并执行一个名为 ppi-test 的 Job 。
参考 https://kubernetes.io/zh-cn/docs/tasks/job/automated-tasks-with-cron-jobs/
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/
cronjob定时与Linux的定时 任务语法一致
1 2 3 4 5 6 7 8 * * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | | | +---------- 月份 (1 - 12) | | +--------------- 一个月中的第几天 (1 - 31) | +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59)
解答 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 vim cronjob-1.yaml --- apiVersion: batch/v1 kind: CronJob metadata: name: ppi spec: schedule: "*/5 * * * *" successfulJobsHistoryLimit: 2 failedJobsHistoryLimit: 4 jobTemplate: spec: activeDeadlineSeconds: 8 template: spec: containers: - name: pi image: perl:5 imagePullPolicy: IfNotPresent command : ["perl" , "Mbignum=bpi" , " wle" , "print bpi(2000)" ] restartPolicy: Never kubectl apply -f cronjob-1.yaml kubectl get cronjobs NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE ppi */5 * * * * False 0 30s 44s kubectl create job ppi-test --from=cronjob/ppi kubectl get jobs NAME COMPLETIONS DURATION AGE ppi-test 0/1 56s 56s