跳转到内容

Health and network profiles

Health profile

Health profile 决定 verify 阶段如何判断应用是否可用。它应该和用户真实访问路径保持一致,而不是只检查进程是否存在。

常见字段:

  • 健康检查类型,例如 HTTP。
  • 检查路径,例如 /health
  • 期望状态码。
  • interval、timeout、retries 和 start period。

如果没有配置健康检查,Appaloft 可以退回到较弱的运行状态判断,但文档和 UI 应明确这不是完整 readiness。

Network profile

Network profile 描述应用监听端口、协议和代理目标。它回答“代理应该把请求转发到哪里”。

常见字段:

  • 应用内部监听端口。
  • 协议,例如 HTTP。
  • 是否需要代理公开访问。
  • 可选的内部 service name 或 target hint。

绑定自定义域名是访问配置,不应该混进基础部署输入。先让 network profile 和默认访问地址可用,再处理域名/TLS。

保存 network profile 是一次 durable resource profile edit。它只影响后续部署准入和路由规划,不会改写历史 deployment snapshot,不会立即应用代理路由,也不会重启当前运行时。

Readiness 失败

如果健康检查失败,先确认应用监听端口、路径、启动耗时和代理目标,再决定重试部署或调整 profile。

排查顺序:

  1. 查看 runtime logs,确认应用是否启动。
  2. 确认应用实际监听端口。
  3. 确认 health path 是否存在并返回期望状态码。
  4. 确认 start period 是否足够长。
  5. 确认 proxy readiness 和默认访问地址。

入口说明

Web console 应在资源创建和配置页提供 health/network 字段,并把默认值展示清楚。

CLI 应允许配置 health 和 network profile,并在部署失败时把失败指向对应 profile,而不是只输出 generic failure。

HTTP API 应返回 profile 摘要、最近健康观测和结构化错误。

相关页面:Generated access routesLogs and health

CLI 示例:

配置 HTTP health check
appaloft resource configure-health res_web \
--path /health \
--method GET \
--expected-status 200 \
--interval 5 \
--timeout 5 \
--retries 10 \
--start-period 15
配置 network profile
appaloft resource configure-network res_web \
--internal-port 3000 \
--upstream-protocol http \
--exposure-mode reverse-proxy