Kubernetes:仅命中一次 readinessProbe

标签 kubernetes kubernetes-health-check

我有以下就绪探针设置:

 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/

相关文章:

kubernetes - 如何定义 liveness 命令

kubernetes - 执行和初始化 kubeadm 时出错

kubernetes - Operator SDK Controller 无法更新自定义资源状态

amazon-web-services - AWS MWAA;如何安装特定版本的 AWS CLI V2

ssl - 由于 LB 运行状况检查,Vault 节点中的连续 TLS 握手错误日志

linux - k8s liveness probe 失败时发送给容器中运行的进程的信号是什么?杀死或学期

kubernetes - 为 kubernetes 探针提供多个健康检查 URL

docker - Kubernetes 安全上下文 runAsUser 1000 从何而来?

kubernetes - Hyperledger Fabric 与 Kubernetes : Not able to instantiate chaincode

kubernetes - 我的 initContainers 的 "alpine"图像有问题