“kubectl等待”永远等待

问题描述 投票:1回答:1

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

脚本应等待“已完成”状态,但当状态从“正在运行”切换到“已完成”时,以下命令不会退出:

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

^ C

$ kubectl获取pods

NAME READY STATUS RESTARTS AGE

longrunningpodname 0/1完成0 18h

如果Pod已经处于状态,我还希望命令立即返回。但这不会发生。

kubectl是否等待我正在寻找的命令?

kubernetes kubectl
1个回答
1
投票

裸机舱的使用并不是运行必须完成的命令的最佳方法。考虑使用Job Controller

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

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

© www.soinside.com 2019 - 2024. All rights reserved.