Openshift +准备检查

问题描述 投票:0回答:2

在Openshift / Kubernetes上,当准备检查配置了带有路径的HTTP GET时,例如带有服务和路由的spring boot应用程序,是HTTP GET请求调用Openshift服务或路由或其他东西,期待200-399 ?

谢谢,B。

kubernetes openshift
2个回答
1
投票

The kubernetes documentation on readiness and liveness probes

对于HTTP探测,kubelet将HTTP请求发送到指定的pathport以执行检查。 kubelet将探测器发送到pod的IP地址,除非地址被host中的可选httpGet字段覆盖。 [...]在大多数情况下,您不想设置host字段。这是您设置它的一个场景。假设Container侦听127.0.0.1并且Pod的hostNetwork字段为true。然后在host下的httpGet应该设置为127.0.0.1。如果你的pod依赖虚拟主机,这可能是更常见的情况,你不应该使用host,而是在httpHeaders中设置主机头。

所以它使用Pod的IP,除非你在探针上设置host字段。此处不使用服务或入口路由,因为准备和活动探测用于确定服务或入口路由是否应将流量发送到Pod。

HTTP请求来自Kubelet。每个kubernetes节点都运行Kubelet进程,该进程负责节点注册和pod的管理。 Kubelet还负责观察绑定到其节点的Pod集,并确保这些Pod正在运行。然后它会报告状态,因为这些Pod会发生变化。

When talking about the HTTP probe,文档说

任何大于或等于200且小于400的代码表示成功。任何其他代码表示失败。


1
投票

正确的是,它正在使用webhook来确定容器是否已准备好为请求提供服务。默认情况下,请求直接发送到Pod IP,因为当它失败时,将从所有服务的所有端点删除容器IP。这可以通过探针定义中提交的host来覆盖。

如您所述,任何200-399的响应代码都被认为是成功的。

© www.soinside.com 2019 - 2024. All rights reserved.