gpt4 book ai didi

kubernetes - 我应该每秒做一次 liveness probe 和 readiness probe 吗?

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

在我的 K8S 工作负载中,我实现了 Readiness 探测和 Liveness 探测以进行 pod 健康检查。

我想知道我是否应该将间隔 (periodSeconds) 设置为低至 1 秒,因为它会消耗更多资源,对吗?

在做 Pod 健康检查时有没有最佳实践?

最佳答案

首先,了解 Liveness 和 Readiness 之间的区别很重要。 tl;dr 是:Liveness 是关于 K8s 是否应该杀死并重启容器,Readiness 是关于容器是否能够接受请求。您可能需要为两者使用不同的参数。

K8s 是否根据探测结果采取任何行动取决于failureThreshold。这是在 K8s 执行某些操作之前探测器必须连续失败的次数。如果将它与 periodSeconds 结合使用,您可以调整探针的灵敏度。

一般来说你想要平衡:

  • K8s 采取行动所需的时间以及根据探测您的服务预计恢复的速度
  • 探测的“成本”。例如,如果您的 Readiness 探测器连接到一个数据库,那么您将向每个副本的数据库添加 1 个每秒查询 (QPS) 负载(如果有 100 个副本,您将仅通过探测器产生 100QPS!)
  • 探针的可靠性,也称为“片状”。什么是假阴性率 - 即探测报告失败但服务实际以预期性能率运行的时间比例是多少

这是一种思考方式:

  • 计算出您的服务在 K8s 采取行动之前可以处于失败状态的时间。这应该基于恢复需要多长时间(例如,在 Liveness 的情况下重新启动)
  • 如果探测“昂贵”,则有更长的 periodSeconds 和更小的 failureThreshold
  • 如果探测是“不稳定的”(即偶尔报告失败,然后报告之后工作得非常快)有更短的 periodSeconds 和更大的 failureThreashold

关于kubernetes - 我应该每秒做一次 liveness probe 和 readiness probe 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62380682/

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