OpenClaw 閘道藍綠部署:第二埠、健康門控切換與租用雲端 Mac 上的 launchd(2026-05-08)
2026 年 OpenClaw 在 macOS 上的閘道敘事一分為二:桌面應用編排生命週期,而常駐守護程式仍由 launchd 託管並配合外部 CLI 安裝。 這種拆分對藍綠是利好:你可以在生產仍監聽 127.0.0.1:18764 時,把候選閘道起在 127.0.0.1:18765,用合成探針證明就緒,再重指回環消費者或上游代理——無需再租第二台 MacLogin mini。 本篇 2026 年 5 月維運手冊固化了香港、日本、韓國、新加坡與美國租戶在升級期間保持 Webhook Worker、Canvas 鉤子與 CLI 自動化穩定的矩陣。
交聯閱讀 應用與 CLI 交接、健康 curl 監控、優雅關閉與排空,以及專題入口 OpenClaw 專題索引。另可參考 說明中心 與 定價。
繁忙閘道為何優先藍綠而非原地重啟
對微小修補而言,原地 launchctl kickstart -k 足夠;但 Node 大版本、模型允許清單或 Webhook URL 遷移等高風險升級,更適合並排行程。藍綠給你完整的熱容器:TLS 內容已編譯、模型快取已預熱、Worker 佇列已校驗,客戶流量才會觸達新版本。
埠規劃與 launchd 標籤矩陣
| 顏色 | 監聽位址 | launchd 標籤(範例) | 用途 |
|---|---|---|---|
| 藍(穩定) | 127.0.0.1:18764 | ai.openclaw.gateway.blue | 生產流量 |
| 綠(候選) | 127.0.0.1:18765 | ai.openclaw.gateway.green | 預發驗證 |
| 可觀測性 | 任一 | N/A | 健康檢查綁定回環;若對公網暴露僅經受控代理,參見 localhost 加固 |
翻轉流量前的健康探針契約
先定義不可妥協的信號:/healthz(或專案約定路徑)回傳 HTTP 200、JSON 版本欄位與 CLI 一致、在預算延遲內模型探測成功,以及在適用時 Webhook 自測回顯。探針至少跑滿兩個抓取間隔,以捕獲緩慢洩漏。
第二份 LaunchAgent plist 模式(依使用者)
複製已驗證的 plist,修改 Label、StandardOutPath、StandardErrorPath,以及固定埠與設定根的環境匯出。保持 ThrottleInterval 合理,避免崩潰迴圈拖垮 syslog。與 環境變數指南 對齊,使兩種顏色繼承正確的金鑰庫。
九步切換維運手冊
- 快照 目前 plist、二進位雜湊與 Node 版本。
- 部署 候選建置到帶版本號的目錄;勿覆寫穩定路徑。
- 安裝 綠色 plist;以租戶使用者執行
launchctl bootstrap。 - 驗證 在本機以 curl 檢查健康端點(若啟用則含 mTLS)。
- 重放 合成 Webhook 負載,僅打綠色。
- 排空 藍色:依 2026 年 4 月排空文的步驟執行。
- 提升:重指本機轉送器或上游 proxy 的 upstream 區塊。
- 觀察 錯誤預算 30–60 分鐘後再宣告成功。
- 降級 藍色二進位,或保持溫熱以實現秒級回滾。
五分鐘內完成的回滾演練
練習反向提升:把上游指標恢復到藍色,僅在佇列排空後對綠色執行 launchctl bootout,並持續 tail 日誌直至 Webhook 提供方停止 5xx 爆發重試。書面明確 DNS、回環與反向代理層各自的負責人——混淆職責是事故拖過 SLA 的常見原因。
可觀測性:對比兩種顏色的 JSONL 流
當兩個守護程式都輸出 JSON 行時,在日誌設定層為每筆紀錄打上 color=blue|green。橫跨香港、日本、韓國、新加坡與美國的 SIEM 班次即可疊加錯誤率,而無需猜測雜訊來自哪個行程。
常見問題
這會取代 Kubernetes 嗎? 不會——單主機租用用更簡單的模式;K8s 租戶應使用 Pod 級藍綠。
公網 TLS Webhook 呢? 將本模式與 TLS 反向代理指南 配對,使邊緣把 upstream 切到健康的回環埠。
哪裡能租更隔離的閘道? 從 定價 起步,為嘈雜工作負載增加日本或美國容量。
OpenClaw 專題、說明與區域為何重要
保持 OpenClaw 專題 與內部運行標籤同步,讓新工程師繼承同一埠矩陣。當延遲敏感的自動化更靠近東京券商而非美國西岸時,按區域釘死租用機可降低切換風險,因為 Webhook 往返時間更可預期。