首页 » 科学 » 一文带你理解容器探针_探针_容器

一文带你理解容器探针_探针_容器

少女玫瑰心 2024-12-03 03:31:27 0

扫一扫用手机浏览

文章目录 [+]

自动规复: 当存活探针检测失落败时,kubelet 将认为该容器内的主进程已经不再康健或者已停滞供应预期的做事。
此时,kubelet 会根据 Pod 的重启策略来决定是否该当重新启动这个容器。
通过这种办法,存活探针可以帮助实现故障自愈,及时规复做事的可用性。

就绪探针

就绪探针(Readiness Probe)紧张浸染是检测容器是否已经准备好对外供应做事。
详细来说:

一文带你理解容器探针_探针_容器 科学

流量路由掌握: 当就绪探针成功时,表示该容器内部的运用程序已处于可接管要求的状态,此时 kubelet 会将该容器标记为“就绪”状态,Service 将会将其 IP 地址添加到后端做事列表中,许可 Service 开始将网络流量转发至这个 Pod。
避免无效要求: 如果就绪探针失落败,则意味着容器可能还在启动过程中、正在重启做事、或者由于某种缘故原由暂时无法正常相应要求。
在这种情形下,kubelet 会将容器从 Service 的后端池中移除,确保不会向其发送任何用户要求,从而避免了因运用未准备完毕而引起的缺点相应和用户体验低落。
平滑过渡: 通过就绪探针,Kubernetes 可以实现滚动更新或支配过程中的平滑过渡,新版本的容器在通过就绪探针验证前,不会承担当何实际流量,直到它们完备启动并做好处理要求的准备。
探针办法

探针实现办法有三种:

HTTP GET要求: Kubernetes 通过向容器内运用发送一个HTTP GET要求来检讨运用的状态。
如果收到的 HTTP 相应码在 200-399 范围内,则认为该探测成功。

livenessProbe: #可指定其他两种探针类型 httpGet: #指定探针办法 path: /healthz #http要求路径 port: 8080 #要求端口 httpHeaders: # 可选,用于设置自定义HTTP头部 - name: Custom-Header value: huawei

TCP Socket检讨: Kubernetes 考试测验与容器上指定的端口建立 TCP 连接。
如果能够成功建立连接,则解释探测成功。

livenessProbe: tcpSocket: port: 8080

exec实行命令: 在容器内部实行一个命令,并根据命令退出时返回的状态码判断容器是否正常运行。
常日情形下,如果命令返回 0,则表示成功。

livenessProbe: exec: command: - cat - /tmp/health

启动探针、存活探针和就绪探针同时支持这三种办法。
每种探针可以选择不同探测办法

探针配置参数

Kubernetes中的探针都支持一些通用的参数来定义它们的行为。
以下是这些探针常日利用的配置参数:

initialDelaySeconds:容器启动后要等待多少秒后才启动启动、存活和就绪探针。
如果定义了启动探针,则存活探针和就绪探针的延迟将在启动探针已成功之后才开始打算。
如果 periodSeconds 的值大于 initialDelaySeconds,则 initialDelaySeconds 将被忽略。
默认是 0 秒,最小值是 0。

periodSeconds:实行探测的韶光间隔(单位是秒)。
默认是 10 秒。
最小值是 1。

timeoutSeconds:探测的超时后等待多少秒。
默认值是 1 秒。
最小值是 1。

successThreshold:探针在失落败后,被视为成功的最小连续成功数。
默认值是 1。
存活和启动探针的这个值必须是 1。

failureThreshold:探针连续失落败了 failureThreshold 次之后, Kubernetes 认为总体上检讨已失落败:容器状态未就绪、不康健、不生动。
对付启动探针或存活探针而言,如果至少有 failureThreshold 个探针已失落败, Kubernetes 会将容器视为不康健并为这个特定的容器触发重启操作。
kubelet 遵照该容器的terminationGracePeriodSeconds 设置。

terminationGracePeriodSeconds:k8s1.25以上版本新增,为 kubelet 配置从为失落败的容器触发终止操作到逼迫容器运行时停滞该容器之前等待的脱期时长。
默认值是继续 Pod 级别的 terminationGracePeriodSeconds 值(如果不设置则为 30 秒),最小值为 1。
就绪探针不须要配置该参数

完全配置示例:

livenessProbe: #可以选择 httpGet、tcpSocket 或 exec 中的一种 httpGet: path: /health port: 8080 httpHeaders: - name: Custom-Header value: huawei #通用参数: initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 terminationGracePeriodSeconds: 30readinessProbe: # 就绪探针配置类似startupProbe: # 启动探针配置也相似配置建议

如果运用是慢启动类型,建议配置启动探针或者为存活探针配置initialDelaySeconds参数,避免存活探针过早参与导致容器频繁重启。
如果运用启动韶光不固定建议利用启动探针。

可以将启动探针initialDelaySeconds、periodSeconds的值调低,让启动探针更快感知容器康健状态;由于启动探针探测成功后就会退出不会影响容器后续运行,可以将failureThreshold的值调大,避免运用还未启动完成过早触发重启。

由于存活探针探测失落败会导致容看重启,因此将存活探针的failureThreshold设置比就绪探针大,这样如果运用有问题该当先割断流量。

关注#华为云开拓者同盟# 点击下方,第一韶光理解华为云新鲜技能~

华为云博客_大数据博客_AI博客_云打算博客_开拓者中央-华为云

标签:

相关文章

TCOOP-M101-433M发射模块_暗记_波形

遥控器参数遥控器采取HS2245PT芯片,吸收模块采取LR43B无线射频吸收模块遥控器与吸收模块选用的是下图所示的两款:由于LR4...

科学 2025-01-24 阅读3 评论0

源代码遭泄露是谁在扰乱_北碚区_产物

“感谢审查机关对民营企业著作权的重视和保护,帮我们挽回丢失,现在我们加强了软件源代码保密事情……”1月26日,重庆市北碚区审查院审...

科学 2025-01-24 阅读7 评论0