O.M*_*Man 3 kubernetes kubernetes-cronjob
我正在尝试创建一个在单个 busybox 容器中运行命令日期的 cronjob 。该命令应每分钟运行一次,并且必须在 17 秒内完成或由 Kubernetes 终止。cronjob 名称和容器名称都应该是 hello。
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
jobTemplate:
metadata:
name: hello
spec:
completions: 1
activeDeadlineSeconds: 17
template:
metadata:
creationTimestamp: null
spec:
containers:
- image: busybox
name: hello
command: ["/bin/sh","-c","date"]
resources: {}
restartPolicy: OnFailure
schedule: '*/1 * * * *'
status: {}
Run Code Online (Sandbox Code Playgroud)
我想验证作业是否至少成功执行了一次。我使用命令k get cronjob -w尝试了它,它给了我这个结果。
是否有另一种方法来验证作业是否成功执行?向容器添加命令日期是一种好方法吗?
CronJob内部创建Job内部创建Pod. 注意由创建的作业CronJob
kubectl get jobs --watch
Run Code Online (Sandbox Code Playgroud)
输出类似于:
NAME COMPLETIONS DURATION AGE
hello-4111706356 0/1 0s
hello-4111706356 0/1 0s 0s
hello-4111706356 1/1 5s 5s
Run Code Online (Sandbox Code Playgroud)
你可以看到数量 COMPLETIONS
#Replace "hello-4111706356" with the job name in your system
pods=$(kubectl get pods --selector=job-name=hello-4111706356 --output=jsonpath={.items[*].metadata.name})
Run Code Online (Sandbox Code Playgroud)
检查 pod 日志
kubectl logs $pods
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3170 次 |
| 最近记录: |