如何保持等待 pod 终止,直到当前进程在 kubernetes 中完成?



我们在 kubernetes 中有一个 pod,它定期处理其中的一些作业。其中一些作业需要 2 或 3 分钟以上。部署此 Pod 时,我们不想终止此 Pod 上的当前进程。如何等待此 Pod 终止,直到所有进程完成?我阅读了一些关于"终止宽限期秒"的主题。但是,该属性或其工作方式是否有任何上限?

您可以使用等待命令,该命令占用多个资源并等待指定条件。

例如,假设您创建一个名为 worker 的作业,该作业打印单词"printsth"并暂停 3 秒十次。

$ kubectl create ns waitplayground
$ kubectl -n waitplayground 
create job worker  
--image centos:7 -- 
sh -c 
'for i in {1..10} ; do echo printsth ; sleep 3; done'

Kubectl 等待命令返回类似的东西:

$ kubectl -n waitplayground 
wait --for=condition=complete --timeout=40s      
job/worker
job.batch/worker condition met

我希望它能帮助你。

最新更新