我有以下就绪探针设置:
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.
关于Kubernetes:仅命中一次 readinessProbe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43538554/