Kubernetes:只点击一次 readinessProbe

Kubernetes: Hit readinessProbe only once

我有以下准备探测设置:

 readinessProbe:
      httpGet:
        path: /xyzapi/health
        port: 8888
      initialDelaySeconds: 30
      periodSeconds: 30
      timeoutSeconds: 30
      successThreshold: 2
      failureThreshold: 5

我希望这个就绪探测器只被触发一次。它应该一次失败或通过我的部署基础。

我用谷歌搜索了一下,但帮助不大。任何 kube 专家?请帮忙

Oswin Noetzelmann 的评论很到位。就绪探测的目的是持续检查就绪状态。您可能仍然可以更改它,以便您的就绪检查脚本检查一次,然后缓存该结果,但这不是准备就绪的惯用用法。

一次性检查的更好替代方法是:init-containers 或仅使用包装器脚本来包装主容器的实际工作并执行所需的检查。

我认为这是 init-containers 的一个很好的用例。从文档中可以看出,init 容器的一个常见用途是:

They run to completion before any app Containers start, whereas app Containers run in parallel, so Init Containers provide an easy way to block or delay the startup of app Containers until some set of preconditions are met.