gpt4 book ai didi

docker - 如何从CLI清理在 Rancher 中终止的作业

转载 作者:行者123 更新时间:2023-12-02 21:04:06 26 4
gpt4 key购买 nike

我正在使用 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

这个典型的kubernetes pi作业将在完成后立即清理自己。

关于docker - 如何从CLI清理在 Rancher 中终止的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59123261/

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