gpt4 book ai didi

kubernetes - 如何验证 Kubernetes 中的 cronjob 成功完成

转载 作者:行者123 更新时间:2023-12-02 11:34:06 25 4
gpt4 key购买 nike

我正在尝试创建一个运行命令的 cronjob 日期 在一个busybox容器中。该命令应每分钟运行一次,并且必须在 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: {}
我想验证作业是否至少成功执行了一次。
我尝试使用命令 k 获取 cronjob -w 这给了我这个结果。
enter image description here
是否有另一种方法来验证作业是否成功执行?添加命令的好方法 日期 到容器?

最佳答案

CronJob内部创建 Job在内部创建 Pod .注意由 CronJob 创建的作业

kubectl get jobs --watch
输出类似于:
NAME               COMPLETIONS   DURATION   AGE
hello-4111706356 0/1 0s
hello-4111706356 0/1 0s 0s
hello-4111706356 1/1 5s 5s
你可以看到 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})
检查 pod 日志
kubectl logs $pods

关于kubernetes - 如何验证 Kubernetes 中的 cronjob 成功完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62833841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com