排查 Azure 容器应用中的运行状况探测失败

在 Azure 容器应用 中,健康探测失败表明容器应用未通过所需的健康检查,并可能被视为不健康或未准备好。

健康探测是确定应用程序运行状况的很好的方法。 具体而言,运行状况探测有助于解决与容器启动期间超时、运行容器时死锁以及容器未准备好接受流量时提供流量相关的性能问题。

原因

可能导致运行状况探测失败的因素包括:

  • 运行状况探测配置不正确:有关协议、终结点地址、路径、端口和响应代码的配置错误会导致探测失败并将容器标记为运行不正常。

  • 应用程序未就绪或未响应:在运行状况探测尝试检查时,容器内的应用程序可能尚未准备好处理请求。 延迟可能是由于初始化速度缓慢、启动时间长或依赖项缺失造成的。 在这种情况下,就绪情况探测会失败,并且容器可能标记为未准备好处理流量。

  • 运行状况检查终结点无法访问:如果运行状况检查终结点(如 /health)未正确公开,或者应用程序未侦听正确的端口,则运行状况探测无法访问终结点。/readiness 在这种情况下,探测会失败,因为它无法访问终结点。

诊断

容器应用提供智能和交互式诊断体验,可帮助你对应用进行故障排除,无需配置。 使用以下步骤访问容器应用诊断。

  1. 在 Azure 门户中转到你的容器应用。

  2. 在边栏菜单中选择“ 诊断”并解决问题

  3. 在故障排除类别下,选择“可用性和性能”类别磁贴。

  4. 选择 健康探测失败

    此报告提供有关问题、可能的原因和建议解决方法的详细信息。

    可以通过选择所需的容器应用修订版,按修订版查看运行状况探测失败事件。

    在此页中,可以按运行状况探测类型、时间范围内和失败类型查看每个修订的运行状况探测失败事件。

    你也可以从下拉列表中选择所需的修订版,以查看容器应用每个修订版的运行状况探测配置。

    若要查看每个修订版的存储装载失败次数,请选择“单击以显示”。