gpt4 book ai didi

kubernetes - 为什么 active 和就绪性都需要

转载 作者:行者123 更新时间:2023-12-02 17:25:28 24 4
gpt4 key购买 nike

在对 kubernetes pod 进行健康检查时,即使我们已经维护了就绪探针,为什么还需要 active 探针?

Readiness 探针已经持续检查 Pod 内的应用程序是否准备好处理请求,这意味着 Pod 处于事件状态。但是,为什么需要 active 探针?

最佳答案

探针具有不同的含义和不同的结果:

  • 事件探针失败 -> 重新启动容器
  • 就绪探测失败 -> 不向该 Pod 发送流量

您无法根据就绪情况确定活跃度,反之亦然。仅仅因为 Pod 无法接受流量,并不意味着需要重新启动,这可能意味着它只需要时间来完成一些工作。

如果您正在部署例如php 应用程序,这两个可能是相同的,但 k8s 是一个通用系统,支持多种类型的工作负载。

<小时/>

来自:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/

The kubelet uses liveness probes to know when to restart a Container. For example, liveness probes could catch a deadlock, where an application is running, but unable to make progress. Restarting a Container in such a state can help to make the application more available despite bugs.

The kubelet uses readiness probes to know when a Container is ready to start accepting traffic. A Pod is considered ready when all of its Containers are ready. One use of this signal is to control which Pods are used as backends for Services. When a Pod is not ready, it is removed from Service load balancers.

<小时/>

旁注:实际上,准备度应该是活跃度的子集,这意味着准备度意味着活跃度(活跃度失败意味着准备度失败)。但这并不会改变上面的解释,因为如果您只有准备状态,则只能暗示何时不需要重新启动,这与根本没有任何重新启动的探针相同。另外,由于探针是单独定义的,因此无法保证 k8s 中的一个是另一个的子集

关于kubernetes - 为什么 active 和就绪性都需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54744943/

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