gpt4 book ai didi

kubernetes - statefulset 的就绪探测,而不是单个 pod/容器

转载 作者:行者123 更新时间:2023-12-02 11:35:45 24 4
gpt4 key购买 nike

我一直在阅读 liveness and readiness probes in kubernetes我想用它们来检查集群是否活跃。

问题是如何为整个 statefulset 配置就绪探测器,而不是单个 pod/容器。

可以使用简单的 HTTP 检查来确定就绪情况,但我遇到的问题是 readinessCheck 似乎适用于容器/pod,而不适用于集合本身。

对于我正在使用的软件,HTTP 端点在集群形成之前不会出现;这意味着每个单独的 pod 都将无法通过 readinessCheck,直到所有三个 pod 都启动并找到彼此。

我现在在 Kubernetes 中看到的行为是创建了 3 个副本中的第一个,并且 Kubernetes 甚至不会尝试创建副本 2 和 3,直到第一个通过 readinessCheck,但这种情况从未发生过,因为所有三个副本都有为它有机会通过它做好准备。

最佳答案

您需要将 StatefulSet.spec.podManagementPolicyOrderedReady 更改为 Parallel 策略。

这样 K8S 将并行启动所有 pod,而不会等待探测。

来自 documentation

podManagementPolicy controls how pods are created during initial scale up, when replacing pods on nodes, or when scaling down. The default policy is OrderedReady, where pods are created in increasing order (pod-0, then pod-1, etc) and the controller will wait until each pod is ready before continuing. When scaling down, the pods are removed in the opposite order. The alternative policy is Parallel which will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once.

关于kubernetes - statefulset 的就绪探测,而不是单个 pod/容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50971333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com