news 2026/6/13 0:54:14

一文掌握k8s的健康检查探针

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文掌握k8s的健康检查探针

简介

容器的健康检查探针是指容器运行过程中,需要定时检查容器中应用健康状况。
若未配置健康检查机制,当容器内的应用程序发生异常时,Pod无法感知该异常,也不会自动执行重启操作进行恢复。这样可能导致Pod状态显示为“运行中”,但实际上容器内的应用已处于不可用或异常状态。

官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

Kubernetes提供了三种健康检查探针:

  • 存活探针[livenessProbe]:用于检测容器是否正常,类似于执行ps命令检查进程是否存在。如果容器的存活检查失败,集群会对该容器执行重启操作,否则不执行任何操作。

  • 就绪探针[readinessProbe]:探测应用业务是否已经就绪,用于判断容器中的业务是否已就绪,以决定是否将流量转发至当前实例。在某些场景中,应用程序虽然进程已启动,但由于需要依赖外部服务的初始化,尚未具备对外提供服务的能力。此时,通过就绪检查可以避免将流量路由至尚未就绪的实例。如果容器的就绪检查失败,CCE集群会临时将其从服务端点中移除,屏蔽外部请求的访问。而一旦检查通过,容器即被视为就绪,可正常接收流量。

  • 启动探针[startupProbe]:用于检测应用是否已启动。 启动探针检测通过后,集群才会开始执行存活检查和就绪检查, 从而确保这些检查不会影响应用程序的启动。该探针适用于启动时间较长的容器,能够有效避免容器在初始化尚未完成时被误判为异常,从而被提前终止。

健康检查方式

  • HTTP请求方式[httpGet]:探针往容器发送HTTP请求,如果探针收到2xx或3xx的返回状态码,说明容器是健康。HTTP请求检查(httpGet):适用于提供HTTP/HTTPS服务的容器。进行该配置后,集群将周期性地对该容器发起HTTP/HTTPS GET请求,如果HTTP/HTTPS response返回码属于200~399范围,则证明探测成功,否则探测失败。使用该方式时,必须指定容器监听的端口。

  • TCP请求方式[tcpSocket]:探针使用TCP套接字。 使用这种配置时,kubelet 会尝试在指定端口和容器建立套接字连接。如果能建立连接,这个容器就被看作是健康的,如果不能则这个容器就被看作是有问题的。适用于提供TCP协议通信的容器(如数据库、缓存、自定义TCP服务等)。集群会周期性地与该容器建立TCP连接,如果连接成功,则证明探测成功,否则探测失败。使用该方式时,必须指定容器监听的端口。

  • 命令行脚本[exec]:探针执行容器中的命令并检查命令退出的状态码,如果状态码为0则说明健康。要求用户指定一个容器内的可执行命令,集群会周期性地在容器内执行该命令,如果退出码状态为0则检查成功,否则检查失败。

注意:

在高负载环境中,建议避免使用执行命令检查方式,执行命令会消耗系统资源,如果系统资源紧张(如CPU负载高、文件系统被锁住等)可能导致健康检查超时失败。如果需要使用执行命令检查,您可以参考以下建议:

  1. 增加失败次数和超时时间配置,避免因为突发性的资源竞争导致健康检查超时失败,但是该方式可能会降低业务敏感度,请合理配置。
  2. 通过合理规划业务容器或者系统插件的CPU Limit配置,避免出现因CPU时间片抢占导致内核锁长期不释放影响同节点其它容器执行exec探测的问题。

各参数指标含义:

参数名称介绍
periodSeconds检测周期表示两次检测的间隔时间,单位为秒。
例如,设置为30,表示每30秒检测一次。
initialDelaySeconds启动延时表示成功运行后多久时间开始检测,是预留给业务程序启动的时间,单位为秒。
例如,设置为30,表明容器启动后30秒开始健康检查。
timeoutSeconds超时时间探针超时时间,单位为秒。若设置为0或不设置,默认超时等待时间为1秒。
例如,设置为10,表明执行健康检查的超时等待时间为10秒。如果超过这个时间,本次健康检查就被视为失败。
successThreshold成功阈值表示服务检测失败后,转变为“健康”所需要的最小连续成功次数。该参数的默认值为1,且最小允许值为1。在存活探针和启动探针中,这个值必须为1。
例如,设置为1时,表明健康检查失败后,仅需连续成功1次,即可将工作负载恢复为正常状态。
failureThreshold最大失败次数表示在容器被判定为“不健康”之前,允许连续探测失败的次数。该参数默认值为 3,最小值为 1。
1.对于存活探针:当连续失败次数达到该阈值后,容器将被标记为不健康,且kubelet会重启容器。
2.对于就绪探针:当连续失败次数达到阈值后,Pod会被标记为未就绪,并从Service的Endpoints 中移除,停止接收新流量,且容器不会被重启。

YAML示例


apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-http spec: containers: - name: liveness image: <image_address> args: - /server livenessProbe: # 存活探针 httpGet: # 以HTTP请求检查为例 path: /healthz # HTTP检查路径为/healthz port: 80 # 检查端口为80 httpHeaders: # 可选,请求头名称为Custom-Header,对应的值为Awesome - name: Custom-Header value: Awesome initialDelaySeconds: 3 periodSeconds: 3 readinessProbe: # 就绪探针 exec: # 以执行命令检查为例 command: # 需要执行的命令 - cat - /tmp/healthy initialDelaySeconds: 5 periodSeconds: 5 startupProbe: # 启动探针 httpGet: # 以HTTP请求检查为例 path: /healthz # HTTP检查路径为/healthz port: 80 # 检查端口为80 failureThreshold: 30 periodSeconds: 10

通过xkube进行设置

通过多集群k8s管理平台xkube的功能可以轻松的设置探针,xkube安装部署参考:https://blog.csdn.net/weixin_56364253/article/details/156390146

功能参考下图:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 11:42:31

数据驱动与敏捷优化:GEO时代的营销效能度量与增长黑客

引言&#xff1a;当“流量仪表盘”失灵某在线教育公司的CMO发现了一个令人困惑的现象&#xff1a;公司网站的SEO数据一切正常——搜索曝光量、点击率、访问时长均在增长&#xff0c;但新用户的咨询转化率却停滞不前。进一步挖掘发现&#xff0c;大量原本通过搜索“小学数学辅导…

作者头像 李华
网站建设 2026/6/11 22:09:40

安可测评1月更新!鸿蒙系统入选!国产CPU、操作系统、数据库合集

安可测评清单是由中国信息安全测评中心和国家保密科技测评中心发布的通过安全可靠测评的产品清单&#xff0c;主要面向计算机终端和服务器搭载的中央处理器&#xff08;CPU&#xff09;、人工智能训练推理芯片、操作系统、数据库&#xff0c;以及激光或喷墨打印机搭载的主控芯片…

作者头像 李华
网站建设 2026/6/11 22:12:26

告别嘈杂! Moodist 白噪音神器通过cpola把治愈音效装进袋

Moodist 是一款专注于环境音效生成的工具&#xff0c;核心功能是将雨打屋檐、篝火噼啪、山间溪流等数十种自然与生活音效拆分为独立模块&#xff0c;用户可自由调配比例组合专属音效&#xff0c;适配职场人、学生党、宝妈等不同人群的使用需求&#xff0c;其优势在于音效无杂音…

作者头像 李华
网站建设 2026/6/11 22:12:43

《灵魂躯壳》

《灵魂躯壳》 当代梦幻精灵_cq 思维灵魂化代码&#xff0c; 模型实例证事决。 只蓄模式镇脑回&#xff0c; 不留文本脏台阶。 类型模式生代码&#xff0c; 顺遂源流不妄憋。 心流范式爽抒写&#xff0c; 工程圆润不扑街。 ***** 分割线 ***** 注&#xff1a; 1、化代码 分娩…

作者头像 李华
网站建设 2026/6/11 23:34:27

基于Uniapp+SpringBoot的社区论坛小程序商业运营版源码系统

温馨提示&#xff1a;文末有资源获取方式社区论坛小程序源码系统。它专为网络建站公司、IT工作室以及有志于小程序创业的个人设计&#xff0c;提供多用户支持&#xff0c;让您既能自用&#xff0c;又能无限扩展为客户服务。系统内置广告主功能&#xff0c;一键开启腾讯广告&…

作者头像 李华
网站建设 2026/6/11 23:34:56

基于大数据的电影票房爬取数据及可视化分析系统

目录大数据驱动的电影票房爬取与可视化分析系统摘要项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作大数据驱动的电影票房爬取与可视化分析系统摘要 该系统旨在通过大数据技术实现电影票房的实时爬取、存储…

作者头像 李华