作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Rancher CLI在 Rancher 中运行数千个工作。我想在任务完成后立即删除作业。问题是,当作业完成时,作业在此处保持“ Activity ”状态。
我尝试了How to automatically remove completed Kubernetes Jobs created by a CronJob?的建议,但对我不起作用。如我所见,底层docker容器进入“已终止”状态,但已部署的作业仍处于 Activity 状态。
现在,我必须同步等待作业完成,然后触发“kubectl delete”命令来删除作业。但是我想异步地做到这一点(删除“完成”的所有工作)。
任何的想法?
更新
这是我工作的yaml文件
apiVersion: batch/v1
kind: Job
metadata:
name: runtest
namespace: default
spec:
ttlSecondsAfterFinished: 60
template:
metadata:
labels:
job-name: runtest
spec:
restartPolicy: Never
containers:
- args:
- sh
- /code/rancher_test/run_9.sh
image: x11vnc/docker-desktop
name: runtest
stdin: true
tty: true
securityContext:
runAsUser: 53197
volumeMounts:
- mountPath: /code
name: code
volumes:
- hostPath:
path: /code
type: ""
name: code
最佳答案
您可以启用TTL Controller(适用于k8s 1.12及更高版本)(如果尚未启用),并添加ttlSecondsAfterFinished: N
参数,在这种情况下,创建作业的Pod和作业本身将在 N 秒后删除。
例如:
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-ttl
spec:
ttlSecondsAfterFinished: 0
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
pi
作业将在完成后立即清理自己。
关于docker - 如何从CLI清理在 Rancher 中终止的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123261/
我是一名优秀的程序员,十分优秀!