Jas*_*tha 18 kubernetes google-kubernetes-engine
我已经安排了一个在Kubernetes中作为Cronjob运行的应用程序.当代码发生变化时,我正在改变CronJob中的图像.
我正在寻找一个选项,我可以禁用当前运行的CronJob并使用新创建的Image部署新的CronJob.
如何在不删除yaml的情况下禁用Kubernetes中的Cronjob?
Ami*_*tyo 26
如果要通过补丁程序暂停cronjob,请使用:
kubectl patch cronjobs <job-name> -p '{"spec" : {"suspend" : true }}'
Run Code Online (Sandbox Code Playgroud)
小智 19
您可以使用对 Cron Job 格式有效的内容,但实际上该日期不应出现在日历日期中的任何时间,例如 2 月 31 日。
* * 31 2 *
Run Code Online (Sandbox Code Playgroud)
小智 16
kubectl patch cronjobs job-name -p "{\"spec\" : {\"suspend\" : true }}"
Run Code Online (Sandbox Code Playgroud)
小智 6
选项 1 带命令行
$ kubectl patch cronjobs $(kubectl get cronjobs | awk '{ print $1 }' | tail -n +2) -p '{"spec" : {"suspend" : true }}'
Run Code Online (Sandbox Code Playgroud)
使用命令行的选项 2:
$ kubectl get cronjobs | grep False | cut -d' ' -f 1 | xargs kubectl patch cronjobs -p '{"spec" : {"suspend" : true }}'
Run Code Online (Sandbox Code Playgroud)
选项 3 创建资源配额。我相信这是更清洁的选择。
cat <<EOF | kubectl apply -f -
# https://kubernetes.io/docs/concepts/policy/resource-quotas/#object-count-quota
apiVersion: v1
kind: ResourceQuota
metadata:
name: limit-generic-resources
spec:
hard:
pods: "0"
count/persistentvolumeclaims : "0"
count/services : "0"
count/secrets : "0"
count/configmaps : "0"
count/replicationcontrollers : "0"
count/deployments.apps : "0"
count/replicasets.apps : "0"
count/statefulsets.apps : "0"
count/jobs.batch : "0"
count/cronjobs.batch : "0"
EOF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8215 次 |
| 最近记录: |