更新时间:2024-05-24 GMT+08:00

概述

健康检查用于检测您的应用实例是否正常工作,是用来保障业务正常运行的一种机制。CAE提供三种健康检查机制:存活探针、就绪探针和启动探针。

  • 存活探针用于检测应用程序是否存活。如果检测实例异常,k8s将会删除当前运行的实例并重新检测,直到检测返回实例正常。
    • 单独使用存活探针时,如出现网络波动或程序启动过慢的情况,会导致实例持续被重启,且实例一直处于未就绪的状态。
      有如下解决方案:
      • 与启动探针配合使用,具体操作请参见启动探针与存活探针配合工作
      • 使用时将“最大失败次数”调大,增加容错率,并增大“延迟时间”,保证程序在启动后再接受存活探针的检测。
    • 检查成功:对于在健康检查中设置的请求返回状态码200。
    • 检查失败:对于在健康检查中设置的请求返回状态码非200,且连续失败次数达到设置的“最大失败次数”
  • 就绪探针用于检测应用是否完成启动,并准备好开始接受请求。如果检查到实例已经健康,则进行流量的切换。

    例如:以组件的实例从2个伸缩到3个为例,说明设置就绪探针前后对比。

    1. 未设置就绪探针时,实例已创建完成,但由于程序原因,并未准备好开始接受流量,此时如图1所示,部分流量仍然会进入实例3中。
      图1 未配置就绪探针
    2. 设置就绪探针后,就绪探针会进行检测,发现实例3并未启动完成或就绪,则使实例3不接收流量,保证所有流量都会流入健康的实例1和实例2中。
      图2 就绪探针检测健康前,流量不放通
    1. 当就绪探针检查到实例3为健康时,则放通流量,停止本次检测。
      图3 就绪探针健康后,放通流量
  • 启动探针在运行时会禁用其他探测(就绪探针以及存活探针),如果启动探针检查失败,则实例会被重启。

    启动探针建议搭配存活探针一起使用。