gpt4 book ai didi

kubernetes - 为什么我在 kubernetes : startupProbe, readinessProbe, livenessProbe 中需要 3 种不同类型的探针

转载 作者:行者123 更新时间:2023-12-04 11:17:49 48 4
gpt4 key购买 nike

为什么我在 kubernetes 中需要 3 种不同类型的探针:

  • 启动探针
  • 就绪探针
  • livenessProbe

  • 有一些关于这个主题的问题( k8s - livenessProbe vs readinessProbeSetting up a readiness, liveness or startup probe )和文章。但这不是很清楚:
  • 为什么我需要 3 种不同类型的探头?
  • 有哪些用例?
  • 什么是最佳做法?
  • 最佳答案

    这 3 种探针有 3 种不同的用例。这就是为什么我们需要 3 种探针。
    活性探针
    如果 Liveness Probe 失败,pod 将重新启动(阅读有关 failureThreshold 的更多信息)。
    用例:如果 pod 已死,则重新启动 pod。
    最佳实践:仅在活性探测中包含基本检查。永远不要检查与其他服务(例如数据库)的连接。检查不应花费太长时间才能完成。
    始终指定 如果 pod 是 ,则 Liveness Probe 以确保 pod 将重新启动真的死的。
    启动探针
    Startup Probes 检查 pod 在启动后何时可用。
    用例:一旦 Pod 在启动后可用,就将流量发送到 Pod。启动探测器可能需要更长的时间才能完成,因为它们仅在初始化时调用。他们可能会调用预热任务(但也可以考虑使用 init 容器进行初始化)。
    最佳实践:如果 Pod 需要很长时间才能启动,请指定启动探测器。 Startup 和 Liveness Probe 可以使用相同的端点,但 Startup Probe 的故障阈值将不那么严格,以防止启动失败(s. Kubernetes in Action)。
    就绪探针
    与 Startup Probes Readiness Probes 检查相比,Pod 在整个生命周期中是否可用。
    与 Liveness Probes 相比,只有到 Pod 的流量会停止,如果 Readiness 探针失败,则不会重新启动。
    用例:停止向 Pod 发送流量,如果 Pod 由于与另一个服务(例如数据库)的连接失败而暂时无法提供服务,并且 Pod 将在稍后恢复。
    最佳实践:包括所有必要的检查,包括与其他服务的连接。尽管如此,检查不应花费太长时间才能完成。
    如果 Pod 可以正确处理传入的请求,请始终指定就绪探测器以确保 Pod 仅获取流量。
    文档

  • This article很好地解释了三种探针之间的差异。
  • Official kubernetes documentation很好地概述了所有配置选项。
  • Best practises for probes .
  • Kubernetes in Action提供有关最佳实践的最详细见解。
  • 关于kubernetes - 为什么我在 kubernetes : startupProbe, readinessProbe, livenessProbe 中需要 3 种不同类型的探针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65858309/

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