我需要找到当前未终止的Pod数量(可以使用,终止等),以防止在仍有某些Pod尚未终止的情况下开始部署。
更新:如果没有可用的pod,我应该得到“ 0”。有可能吗?
答案 0 :(得分:4)
您可以尝试:
kubectl get pods --field-selector=status.phase!=Succeeded,status.Phase!=Failed
如果查看Pod Phases,您会发现这涵盖了所有容器终止(失败或成功)的所有可能的容器
如果您特别想要计数,可以使用jq
并使用:
kubectl get pods --field-selector=status.phase!=Succeeded,status.Phase!=Failed --output json | jq -j '.items | le
ngth'
这将返回非Terminated
的吊舱数量。
答案 1 :(得分:0)
如果您的用例是要确保在任何给定时间仅运行一个应用程序的单个实例/副本,那么最好使用内置的Kubernetes选项来处理它。
您可以configure your Deployment object使用replicas
,maxUnavailable
和maxSurge
控制为您的应用程序创建多少个实例。