OpenClaw Gateway 對外提供模型路由、工具與通道能力時,/health 與 /ready 是負載均衡器、Kubernetes 與 Compose 判斷「要不要送流量」的唯一共同語言;一旦三軌各自發明欄位或路徑,就會出現「監控全綠、使用者全紅」的割裂。
本文結論是:把兩個端點的 HTTP 狀態碼、逾時預算、Host 行為與是否允許重定向寫進一份契約,並在反向代理/Ingress 層為它們保留 高優先路由,再用同一組 curl 劇本在三軌重播,即可完成對齊驗收。
閱讀結構包含:痛點拆解、對照表、七步 Runbook、可引用數字與 FAQ。
- 語意漂移:團隊把重量級依賴檢查塞進 /health,導致探針逾時或被誤判為需要重啟;或把「可接受降級」塞進 /ready,造成滾動更新時全隊列流量被摘除。應固定:/health=行程存活;/ready=願意接客。
- 路徑遮蔽(shadowing):API 閘道或 Web 框架的萬用字元路由先於內建探針匹配,LB 收到 404/HTML 錯誤頁卻仍以為後端活著(若只檢查 TCP)或相反。需在 Nginx、Caddy、Traefik 或 Ingress 註明 精確 path 優先。
- 網路命名空間錯位:容器內
curl 127.0.0.1 成功,但 kubelet 從 Pod IP 探測失敗;或閘道只綁回環而 Service 轉發不到。對照 bind=lan/0.0.0.0 與 targetPort 是否一致。
在 README 或內部 wiki 寫明:GET /health 回 200 且 body 可選;GET /ready 在依賴未就緒時回 503(或團隊選定的非 200),並禁止在這兩個 path 上掛認證中介層。
curl -fsS -o /dev/null -w "%{http_code}
” http://127.0.0.1:18789/health curl -fsS -o /dev/null -w “%{http_code} ” http://127.0.0.1:18789/ready
將埠號替換為實際閘道埠;若使用 TLS 終止於上游,加上 -k 或正確 CA 僅限於排錯環境。
services:
openclaw-gateway:
image: your-registry/openclaw-gateway:@sha256:... healthcheck: test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:18789/ready || exit 1"] interval: 10s timeout: 3s retries: 3 start_period: 40s
start_period 應覆蓋模型索引或遠端憑證載入的最壞情況,避免啟動期誤判。
startupProbe:
httpGet:
path: /ready port: http
failureThreshold: 30 periodSeconds: 2 readinessProbe: httpGet:
path: /ready port: http
periodSeconds: 5 timeoutSeconds: 2 failureThreshold: 3 livenessProbe: httpGet:
path: /health port: http
periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 3
若曾發生「就緒後才暴露埠」的競態,優先加長 startupProbe 而非放寬 readinessProbe,以免長期掩蓋性能退化。
以 NGINX Ingress 為例,確保 /health 與 /ready 使用精確匹配並排在萬用 path 之前;若使用正則路由,請把探針 path 放在更高 priority。
若 kubelet 成功而 LB 失敗:比對 Host 標頭、TLS 終止與 重定向鏈;若兩者皆失敗但本機成功:檢查是否只綁 127.0.0.1。可暫時以 TCP Socket 探測隔離 HTTP 層,定位後再切回 HTTP。
匯出滾動更新視窗內的 探針成功率、5xx 比例與 P95 啟動時間;附上代理與閘道設定雜湊,並註明回滾觸發條件(例如連續 N 次 /ready 非 200)。
- readinessProbe.failureThreshold 預設為 3:在
periodSeconds: 5 時約 15 秒內連續失敗才會從 Service 摘除,適合作為變更風險溝通數字。
- 雲負載均衡健康檢查間隔常見設定為 5–30 秒:過密會放大閘道日誌與 CPU;過疏會拉長故障檢知時間。
- Compose start_period建議先取閘道冷啟動 P95×1.5,再在新版本發佈後用實測收窄,避免與 K8s
startupProbe 預算脫節。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/281409.html