当前位置: 首页 > 知识库问答 >
问题:

准备状态探测失败后是否重试探测吊舱

仇飞鹏
2023-03-14

ReadInessProbe:指示容器是否准备好响应请求。如果就绪探测失败,endpoint控制器将从与POD匹配的所有服务的endpoint中删除POD的IP地址。初始延迟之前的默认就绪状态是失败。如果容器不提供就绪探测,则默认状态为成功

如果准备状态探测失败(并且Pod的IP地址从endpoint移除),接下来会发生什么?是否会再次检查吊舱的准备状态?在最初的延迟后,它会再次检查吗?Pod的IP地址是否有可能再次添加到endpoint(如果Pod在Readision Probect失败后自愈)?如果那个吊舱痊愈了,它还会再接收通信吗?

共有1个答案

司徒正信
2023-03-14

是否会再次检查吊舱的准备状态?

是的,将根据您设置的阈值再次检查该条件。

每次periodseconds都将检查POD的配置就绪情况。

例如:

readinessProbe:
            httpGet:
              path: /k8/readiness
              port: 9595
            initialDelaySeconds: 25
            periodSeconds: 8
            timeoutSeconds: 10
            successThreshold: 1
            failureThreshold: 30
        livenessProbe:
            httpGet:
              path: /k8/liveness
              port: 9595
            initialDelaySeconds: 30
            periodSeconds: 8
            timeoutSeconds: 10
            successThreshold: 1
            failureThreshold: 30

就绪和活跃度探测将检查HTTPendpoint的状态,如配置中所述。

initialDelaySeconds:它只会出现在你的POD初始化或者重新启动的时候。所以当吊舱启动时,准备就绪不会检查服务状态,直到30秒。

在30之后,它将尝试检查endpoint上的状态。如果成功,POD将处于就绪状态以处理流量,否则它将再试一次periodseconds,所以8秒后它将再试一次,如果我们将200响应,POD将就绪,否则将在8秒后尝试。

timeoutSeconds:单跳或请求将等待从服务获得响应的时间,否则标记为失败检查。

failureThreshold:根据配置活跃度或就绪状态,在此POD启动或更改为未就绪状态后失败检查的最大数量。

successThreshold:successThreshold表示如果单个请求从service POD获得成功响应,状态被更改为Ready。

如果连续发生30failurethreshold,则只有POD将被标记为未就绪,如果在单个successthreshold之间发生,则POD将被标记为就绪,与活跃度相同。

注意:以上示例仅供参考,不能用于实际生产场景。

欲了解更多信息,请访问:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readid-startup-probes/

 类似资料:
  • 我正在尝试设置istio1。5.1在minicube kubernetes集群中,我遵循Knative的官方文档,在不使用侧车注入的情况下设置istio。我我面临istio入口网关服务的问题,该服务将入口网关服务的外部ip显示为。我已经浏览了这里发布的其他答案,以及许多其他论坛,但没有一个对我有帮助。 使用Minikube v1.9.1与驱动=无头盔v2.16.5 kubectl v1.18.0

  • 我有一个配置了外部网络虚拟交换机的HyperV。K8S被配置为使用法兰绒覆盖(vxlan),如下所示:https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/network-topologies。 你知道如何解决这个问题吗? 更新:提供YAML: 我不知道这是否相关,因为我不能像上面所说的那样从不同的

  • 我对k8s很陌生,所以如果这个问题没有意义或者是错误的/愚蠢的,请向我道歉。 我有一个活跃度探测器配置为我的豆荚定义,它只是命中一个健康API并检查它的响应状态,以测试豆荚的活跃度。

  • 我试图在Azure中新部署的aks Kuberbetes(1.9.6)集群中部署zalenium helm chart。但我不让它起作用。豆荚给出了下面的日志: 描述pod给出:警告不健康4M(x12超过6M)kubelet,aks-agentpool-93668098-0就绪探测失败:HTTP探测失败,状态代码:502 Zalenium图像版本:Dosel/Zalenium:3 如果使用Kube

  • 我在k8s https://github.com/paveldemyanenko/kubernetes-keycloak/tree/master/kubernetes中准备了一些Keycloak的基本示例,在这里我遇到了一个问题,当我在部署结束时部署Keycloak Helm Chart时,我会出现这样一个错误: 配置有什么问题,为什么它不能检查就绪探测?

  • 正在读取此文档https://docs.spring.io/spring-cloud-dataflow/docs/2.0.2.release/reference/htmlsingle/#_application_and_server_properties deployer.appname.kubernetes.probecredentialssecret=myprobesecret 但是,如果只使