如何从 CLI 清理在 rancher 中终止的作业
How to cleanup jobs that are terminated in rancher from CLI
我使用 Rancher CLI 在 Rancher 中从事 运行 数千份工作。我想在任务完成后立即删除该作业。问题是当工作完成时,工作仍然 "Active" 在那里。
我尝试了 的建议,但它对我不起作用。如我所见,底层 docker 容器进入 "Terminated" 状态,但已部署的作业仍处于活动状态。
现在我必须同步等待作业完成,然后我触发 "kubectl delete" 命令删除作业。但我想异步执行此操作(删除所有 "done" 的作业)。
有什么想法吗?
更新
这是我的工作的 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
参数,在这种情况下,pods 创建了作业,作业本身将在 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
作业将在完成后立即自行清理。
我使用 Rancher CLI 在 Rancher 中从事 运行 数千份工作。我想在任务完成后立即删除该作业。问题是当工作完成时,工作仍然 "Active" 在那里。
我尝试了
现在我必须同步等待作业完成,然后我触发 "kubectl delete" 命令删除作业。但我想异步执行此操作(删除所有 "done" 的作业)。
有什么想法吗?
更新
这是我的工作的 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
参数,在这种情况下,pods 创建了作业,作业本身将在 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
作业将在完成后立即自行清理。