本文聚焦 Argo Rollouts 的 AnalysisRun Webhook,而不是 Argo CD 的应用同步。Argo CD 只保证清单落地;真正决定 OpenClaw 网关金丝雀能否从 5% 推到 25% 的,是 Rollouts 每一轮分析能否读到可信的多节点指标、失败摘要和重试结果。

场景是三台以上 clustervps Mac:stable-gw-a、stable-gw-b、canary-gw,再加一台控制面。OpenClaw 负责网关、任务与摘要聚合;Rollouts 负责渐进发布节奏。若你还在搭多 AZ 网关,请先读 多可用区网关与令牌轮换;若关注流量比例与技能切片,可串读 多 AZ 金丝雀与合并探针

先把 Argo CD 与 Rollouts 分清

组件职责本文是否触碰
Argo CD同步 Deployment、Service、AnalysisTemplate 等清单。只作为前置,不讨论回滚策略。
Argo Rollouts按 steps 调权,并在 AnalysisRun 中调用 Webhook 指标。核心:读 OpenClaw 网关指标后决定暂停、晋升或回滚。
OpenClaw在多节点上合并 readyz、webhook digest、队列与网关延迟。提供 Rollouts 可消费的单一 JSON。

最小可复现步骤清单

  1. 冻结节点标签:在每台 Mac 写入 ROLE=gateway|worker|observerAZ,让 AnalysisRun 摘要能反查物理节点。
  2. 暴露合并探针:控制面拉取 canary-gw 的 p95、5xx、队列深度、OpenClaw doctor 与近五分钟 webhook digest,合成 /rollouts/canary-score
  3. 配置令牌:Rollouts Webhook 请求带 X-OpenClaw-Token;OpenClaw 侧用双令牌重叠窗口轮换,窗口长度覆盖最长 AnalysisRun 重试链。
  4. 设定重试:Webhook 超时 3 秒、最多 3 次指数退避;超时计入 degraded,不直接扩流量。
  5. 触发 AnalysisRun:Rollouts 在 5%、10%、25% 三个台阶调用 Webhook,只有 score 达标、digest 无新未分类失败、doctor 为绿时才继续。
  6. 广播失败摘要:失败时不要把原始 body 发群;广播 rollout, step, node, reason, attempts,并把同一 delivery id 折叠为一条卡片。
apiVersion: argoproj.io/v1alpha1
kind: AnalysisTemplate
metadata:
  name: openclaw-gateway-canary
spec:
  metrics:
  - name: openclaw-score
    provider:
      web:
        url: https://ctl.internal/rollouts/canary-score
        method: GET
        headers:
        - key: X-OpenClaw-Token
          value: $OPENCLAW_ANALYSIS_TOKEN
        timeoutSeconds: 3
        jsonPath: "{.score}"
    successCondition: result >= 95
    failureLimit: 2

探针合并、令牌与重试的判定口径

合并探针不要只返回一个布尔值,建议返回 scorenode_breakdowndigest_sha256retry_observed。令牌失败返回 401 并广播“鉴权失败摘要”;业务指标失败返回 200 + score 降级,避免 Rollouts 把网络抖动误判成应用坏掉。重试必须写入摘要,否则值班只会看到最后一次失败,漏掉前两次退避。

  • 通过线:score ≥95,且 canary-gw 与 stable-gw 的 p95 差距小于 20%。
  • 暂停线:score 90~94 或 digest 出现同类失败增长,Rollouts pause,人工看摘要。
  • 回滚线:score <90、令牌连续失败、或任一节点 doctor 红且无法定位。

失败摘要广播与渐进发布协同

广播要服务 Rollouts 决策,而不是替代它。每个 AnalysisRun 生成一条追加式 JSONL:权重、节点、令牌版本、score、失败摘要哈希。OpenClaw observer 只推摘要卡片,Rollouts 继续根据 AnalysisRun 结果改权重。这样集群节点负责事实采集,Rollouts 负责节奏控制,团队能在同一张卡片上看到“哪台 Mac 失败、哪一步台阶暂停、下一次重试何时发生”。

可引用验收线

三条可直接写进 runbook:AnalysisRun Webhook 超时 3 秒、重试 3 次;令牌重叠窗口 ≥ 最大退避链 + 一个探针周期;失败摘要单条 ≤256 字符且同 delivery id 60 秒内只广播一次。多节点协同时,宁可暂停在 10%,也不要在摘要不完整时推进到 50%。

本文为工程演练建议。Argo Rollouts Webhook 字段随版本可能变化,请以已部署 CRD 与官方文档为准;OpenClaw 路径、令牌与摘要字段应在预发环境复跑后再写入生产 runbook。
免登录评估多节点容量

把 Rollouts 金丝雀跑在真实 clustervps 节点上

公开页面可直接查看价格、购买入口与帮助文档,无需登录即可对比节点区域与 Mac mini M4 配置。为 canary-gw 单独准备一台物理 Mac,才能让 AnalysisRun 的探针结果真实反映渐进发布风险。

购买并联网关节点 查看价格(免登录) 帮助中心