“kubectl wait”永远等待

Sim*_*mon 4 kubernetes kubectl

我正在尝试编写一个小 shell 脚本,用于在 Pod 完成后检查长时间运行的 Kubernetes Pod 的日志输出。

脚本应等待状态“Completed”,但当状态从“Running”切换到“Completed”时,以下命令不会退出:

$ kubectl wait --for=条件=已完成 --timeout=24h pod/longrunningpodname

^C

$ kubectl 获取 Pod

名称就绪状态重新开始年龄

longrunningpodname 0/1 已完成 0 18h

如果 Pod 已处于该状态,我还希望该命令立即返回。但这并没有发生。

kubectl wait 不是我正在寻找的命令吗?

Edu*_*llo 5

使用裸 Pod 并不是运行必须完成的命令的最佳方法。考虑使用作业控制器

一项作业会创建一个或多个 Pod,并确保其中指定数量的 Pod 成功终止。当 Pod 成功完成时,作业会跟踪成功的完成情况。

然后,就可以等待工作条件了:
kubectl wait --for=condition=complete --timeout=24h job/longrunningjobname