2

我有以下准备探测设置:

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

我希望这个就绪探测器只被击中一次。一次尝试就应该失败或通过我的部署基础。

我做了一些谷歌搜索,但没有太大帮助。有 kube 专家吗?请帮忙。

4

1 回答 1

2

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

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

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

它们在任何应用容器启动之前运行完成,而应用容器并行运行,因此 Init 容器提供了一种简单的方法来阻止或延迟应用容器的启动,直到满足某些先决条件。

于 2017-04-21T18:13:58.663 回答