Ove*_*ivr 11 kubernetes kubectl
我可以删除custer运行中的所有作业
kubectl delete jobs --all
Run Code Online (Sandbox Code Playgroud)
然而,工作被一个接一个地删除,这是相当慢的(约200个工作,我有时间写这个问题,甚至没有完成).
有更快的方法吗?
小智 12
为此bash命令设置别名稍微容易一些:
kubectl delete jobs `kubectl get jobs -o custom-columns=:.metadata.name`
Run Code Online (Sandbox Code Playgroud)
red*_*red 12
有一个更简单的方法可以做到这一点:
要删除成功的作业:
kubectl delete jobs --field-selector status.successful=1
要删除失败或长时间运行的作业:
kubectl delete jobs --field-selector status.successful=0
hur*_*urk 11
如果您正在使用CronJob并且快速堆积,您可以通过配置文档中描述的作业历史记录限制让kubernetes自动删除它们.从版本1.6开始,这是有效的.
...
spec:
...
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
Run Code Online (Sandbox Code Playgroud)
我有一个删除脚本,删除速度非常快:
$ cat deljobs.sh
set -x
for j in $(kubectl get jobs -o custom-columns=:.metadata.name)
do
kubectl delete jobs $j &
done
Run Code Online (Sandbox Code Playgroud)
并使用该命令创建在脚本后面使用的200个作业 for i in {1..200}; do ./jobs.sh; done
$ cat jobs.sh
kubectl run memhog-$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 8 | head -n 1) --restart=OnFailure --record --image=derekwaynecarr/memhog --command -- memhog -r100 20m
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11139 次 |
| 最近记录: |