应用在 SAE 部署后,可以对应用进行健康检查,查看容器与业务能运行是否正常,方便异常时问题定位。

背景信息

健康检查是指由 Liveness 探针或者 Readiness 探针对容器与应用进行定时检查与汇报,并将结果反馈 SAE 控制台的过程。帮助您了解集群环境下整个服务的运行状态,方便问题定位。

SAE 基于Kubernetes,提供了如下两种健康检查方式。
  • 应用实例存活检查(Liveness 配置):针对单个应用实例进行健康检查,检测应用实例是否已经启动,已启动表示容器存活,反之亦然。如果容器存活检查失败,集群知会 SAE 对该容器进行重启;如果容器存活检查成功,表示应用运作正常,不执行任何操作。
  • 应用业务就绪检查(Readiness 配置):针对应用业务进行健康检查,检测用于处理客户请求的容器是否已经就绪。如果检测到容器未准备就绪,系统上报容器异常,不进行该容器的相关业务处理;如果容器准备就绪,则进行相关业务处理。

    此方式适用于启动时需要加载磁盘数据,或者依赖外部模块而导致启动时间长的业务。

操作指南

  1. 登录 SAE 控制台
  2. 在左侧导航树选择Serverless 应用引擎 > 应用列表,在 应用列表页面右上角单击 创建应用
  3. 在应用的 应用基本信息页签内,设置应用相关信息并单击 下一步:应用部署配置
  4. 应用部署配置页面,您可以展开应用健康检查设置页签并设置相关配置。
    说明
    • 应用实例存活检查和应用业务就绪检查的参数相同。
    • 在健康检查设置中应用实例存活检查(Liveness 配置)应用业务就绪检查(Readiness 配置)二者可选配其一,也可二者均配。如果二者均配,SAE 首先进行应用实例存活检查,检查完成后进行应用业务就绪检查。

    应用健康检查设置
    健康检查参数说明
    • 延迟时间:输入延迟检测时间。例如设置为10,表示从应用启动后 10 秒开始检测。
    • 超时时间:设置健康检查超时等待时间。例如设置为10,如果超时等待时间超过10秒,则本次健康检查失败,系统上报超时异常。若设置为0或不设置,默认超时等待时间为1秒。
    • 执行命令:设置容器或者进程内部执行的健康检查命令。如果该命令退出状态码为0,表示容器健康 。

      命令格式请参见右侧的示例区域。

      举例:待执行命令/run/server/-port=8080,在 SAE 健康检擦进行如下设置。
      执行命令
  5. 应用部署完成后,所设置的健康检查配置生效。