Kubectl 等待 statefulset 的一个 pod 就绪?

Posted

技术标签:

【中文标题】Kubectl 等待 statefulset 的一个 pod 就绪?【英文标题】:Kubectl wait for one pod of a statefulset to be READY? 【发布时间】:2020-06-27 05:08:50 【问题描述】:

要等待某个 pod 完成,命令是

kubectl wait --for=condition=Ready pod/pod-name

同样,我想等待 statefulset 中的任何一个 pod 准备好。我尝试了下面的命令,但没有成功,

kubectl wait --for=condition=Ready statefulset/statefulset-name

命令选项应该是什么样的?

【问题讨论】:

官方 kubernetes repo 上已经有一个关于使用 wait 和 statefulsets 的问题:github.com/kubernetes/kubernetes/issues/79606 @agirlwithnoname 苛刻的评论是否解决了您的问题?您是否需要进一步的帮助来使用 oke-py 为您的有状态集设置等待功能?让我知道。 @willrof 你能告诉我同样的吗! 我发现这很有帮助github.com/kubernetes/kubernetes/issues/… 【参考方案1】:

我使用了以下功能,它对我有用

kubectl wait -l statefulset.kubernetes.io/pod-name=activemq-0 --for=condition=ready pod --timeout=-1s

【讨论】:

【参考方案2】:
kubectl rollout status --watch --timeout=600s statefulset/name-of-statefulset

来自https://github.com/kubernetes/kubernetes/issues/79606#issuecomment-779779928

【讨论】:

以上是关于Kubectl 等待 statefulset 的一个 pod 就绪?的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习-StatefulSet(模板更新扩缩容删除等)

Kubernetes等待部署完成 kubectl wait rollout

kubectl 等待 AWS EKS 上的服务公开 .status.loadBalancer.ingress 字段中报告的 Elastic Load Balancer (ELB) 地址

k8s-StatefulSet

K8S statefulset 详解

kubernetes之StatefulSet详解