我在kubernetes上有一个cron任务,我触发它是为了测试:
kubectl create -f src/cronjob.yaml
kubectl create job --from=cronjob/analysis analysis-test
这将创建一个名为analysis-test-<random-string>
的pod。我想知道是否有可能省略或使后缀可预测?
已过滤的cronjob.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: analysis
labels:
job: analysis
spec:
schedule: "0 0 * * 0"
concurrencyPolicy: "Forbid"
suspend: true
failedJobsHistoryLimit: 3
successfulJobsHistoryLimit: 3
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: container-name
image: myimage
env:
- name: ENVIRONMENT
value: "DEV"
imagePullPolicy: IfNotPresent
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;"]
发布于 2021-01-04 08:47:37
从v1beta1开始,您不能这样做,这是关于cronjob https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/的文档
以下是文档的摘录:
为CronJob资源创建清单时,请确保您提供的名称是有效的DNS子域名。名称不得超过52个字符。这是因为CronJob控制器会自动将11个字符附加到提供的作业名称中,并且作业名称的最大长度不能超过63个字符。
这里还有一个CronJob v1beta1规范的参考页面,用于查看可用的选项配置:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#cronjobspec-v1beta1-batch
稍微深入了解一下源代码,就可以看到作业控制器是如何创建作业资源https://github.com/kubernetes/kubernetes/blob/v1.20.1/pkg/controller/cronjob/cronjob_controller.go#L327 https://github.com/kubernetes/kubernetes/blob/v1.20.1/pkg/controller/cronjob/utils.go#L219的
https://stackoverflow.com/questions/65554829
复制相似问题