金絲雀放量靠 Argo Rollouts 的 AnalysisRun 分析 Webhook(不是 Argo CD)。把端點放在 clustervps 多台 OpenClaw 網關,才能同時做到探針合併、Bearer 重疊、有界重試與失敗摘要廣播,讓多節點與漸進發佈同一節奏。
先劃線:Rollouts 分析 Webhook 與 Argo CD
CD 對帳 Git 與叢集;Rollouts 決定是否繼續放量。AnalysisRun 在視窗內呼叫你的 HTTPS 端點回傳判決,切勿把 CD 健康檢查誤當分析 URL。延伸:多區網關文、滾動升級文。
- 決策時序錯置:CD 每分鐘對帳,Rollouts 卻要在單一金絲雀視窗內完成探測;兩者 SLA 不同。
- 探針碎裂:多個微端點各自回二○○,AnalysisRun 卻看不到錯誤率攀升。
- 重試風暴:未設上限的退避會讓多台網關 Mac 同時被 Rollouts 重播打滿。
多節點拓樸:誰接 Webhook、誰廣播摘要
| 角色 | 職責 | 與漸進發佈的關係 |
|---|---|---|
| 金絲雀網關 A/B | 合併探針路徑、校驗 Bearer、回單一 JSON。 | 權重提升前先驗此路徑。 |
| 通知節點 | 五分鐘視窗去重後廣播失敗摘要。 | 須與日誌 digest 對齊。 |
| 工作者 | 承載業務、讀短命令牌檔。 | 不對外暴露 Analysis URL。 |
摘要廣播細節見日誌與 Webhook 文;連線埠切片見doctor 金絲雀文。擴節點可先瀏覽方案、首頁免登入。
最小可復現:步驟清單(建議依序勾選)
- 範圍。測試叢集只啟 Rollouts;Git 同步仍交既有 CD/CI。
- 標記網關。兩台 Mac 分 canary/stable,LB 權重跟步驟走。
- 註冊 URL。Analysis 模板指向 https 網關路徑,Header Bearer,影子密鑰並存十二小時。
- 合併探針。單一 JSON 含就緒、金絲雀錯誤率、下游 p95、verdict。
- 有界重試。指數退避+抖動,總次數上限與逾時寫 runbook。
- 失敗廣播。非 2xx 或降級 POST 通知節點,附 digest 鍵。
- 演練。手動餵失敗,確認暫停放量且摘要先到。
探針合併:讓 AnalysisRun 只判一次
Rollouts 每個視窗只消化一份主要 JSON;請在本文同時帶上 gateway_ok、canary_error_rate、dependency_p95_ms 與 degraded 旗標,必要時以 HTTP 200 搭配降級,讓控制器與人類值班一致看見黃燈。
{"verdict":"continue","canary_error_rate":0.004,"dependency_p95_ms":118,"gateway_ok":true}
兩台網關結構一致,差異僅 node 欄位。
令牌、重試與重疊窗口
Bearer 新舊並存至少一工作日再撤舊;重試上限例五次、單次逾時三秒,標頭附 X-Analysis-Run。遇連續 5xx 應快速失敗,勿堆佇列拖住漸進。硬數字:令牌重疊十二小時、摘要視窗五分鐘、重試總時長低於十五秒。
- 原子寫入:rename 換短命檔。
- 去重:同一 AnalysisRun ID 在網關節流。
失敗摘要廣播:對齊漸進決策節奏
中止或逾時時,通知節點單訊息附 Rollout 名、步驟、網關節點、最後狀態碼;固定五分鐘 digest,遇非 2xx/連續 5xx 讓 on-call 對齊控制器與網關現場。
FAQ
能沿用 CD 探針 URL 嗎? 不建議,語意與資料面都不同。
單台網關夠嗎? 可示範;漸進演練建議兩台以上驗證權重與廣播。
本文為維運指引。Rollouts 與 OpenClaw 版本差異大,請以實際 CRD 與旗標為準;數字為工程建議而非服務等級保證。