当 Pod 被标记为未就绪后,就绪情况检查还会继续运行吗?

当 Pod 被标记为未就绪后,就绪情况检查还会继续运行吗?

我的理解是,等待 45 秒后,Kubernetes 将访问 /heartbeat 并等待响应 5 秒。如果没有得到响应,它将尝试 5 次(每 60 秒)。5x60seconds=5 分钟过去后,Kubernetes 是否会继续进行就绪检查?如果服务在 6 分钟后启动,这个 pod 是否会被标记为就绪?第二个问题是,它是否会继续使用 FailureThreshold 和其他就绪设置?

readinessProbe:
  httpGet:
    path: /heartbeat
    port: 8080
  initialDelaySeconds: 45
  timeoutSeconds: 5
  periodSeconds: 60
  failureThreshold: 5
livenessProbe:
  httpGet:
    path: /summary
    port: 8080
  initialDelaySeconds: 180
  timeoutSeconds: 1
  periodSeconds: 60
  failureThreshold: 5

答案1

总体来说,这是正确的:

  • 准备探测将在 initialDelaySeconds: 45 之后启动#(延迟)容器启动后,在发起活性或就绪探测之前的秒数。

  • periodSeconds: 60 # 执行探测的频率(以秒为单位)。默认为 10 秒。最小值为 1。

  • timeoutSeconds: 5 #(响应时间)探测超时后经过的秒数。默认为 1 秒。最小值为 1,

  • FailureThreshold: 5 #(放弃之前会尝试多少次)如果发生就绪探测,Pod 将被标记为未就绪。默认值为 3。最小值为 1,

什么时候将达到 livenes 探测的失败阈值 - kubelet将自动执行根据 Pod 的 restartPolicy 采取正确的操作

一旦达到 readinesprobe 的失败阈值,Pod 将被标记为未准备好. (默认为 3。最小值为 1。)

根据文件

  1. 当 Pod 未准备好时,它将从服务负载均衡器中删除。
  2. 注意:就绪探测在容器的整个生命周期内运行。

资源:

相关内容