Платформенным командам на Mac mini M4 в clustervps нужна событийно-управляемая канарейка: масштабировать воркеры, когда растёт очередь сборки OpenClaw, но не отдавать трафик горячему срезу шлюза, пока KEDA ScaledObject не прошёл merge-пробы. Ниже — минимально воспроизводимый контур: триггеры по глубине очереди, срезы шлюза multi-AZ, пороги latency и error rate, broadcast digest сбоев webhook, lock skill pack и водяные знаки 1 ТБ/2 ТБ; матрица отличий от Flagger canary и Argo Rollouts AnalysisRun.
KEDA
ScaledObject масштабирует воркеры по очереди, не заменяя вердикт канарейки на шлюзе
1 JSON
один merge-ответ за интервал опроса — иначе «зелёный» process health маскирует 5xx на канареечном VIP
2× bearer
перекрытие секретов на полное окно опроса KEDA при ротации

Три узких места до первого честного scale-out KEDA

1. Масштаб только по очереди. Реплики растут, пока канареечный срез шлюза всё ещё отдаёт неверный хеш skill pack.

2. Расщеплённые метрики. HPA видит низкий CPU, а доля 5xx на VIP канарейки растёт — webhook не получает единый вердикт.

3. Шторм webhook. Опрос ScaledObject плюс неограниченные повторы нагружают каждый Mac-шлюз за балансировщиком. Согласуйте с логами и digest кластера и главной clustervps.

KEDA ScaledObject: триггеры и связь с очередью сборки

Укажите триггер ScaledObject на тот же сигнал глубины, что экспортирует lane сборки OpenClaw — длина списка Redis, pending NATS или gauge Prometheus с координатора на Mac-шлюзе clustervps. Ограничьте maxReplicaCount на время канарейки, чтобы scale-out не обгонял бюджет проб.

ТриггерСтартовое значениеЗаметка для канарейки
Глубина очередиМасштаб при ≥ 8 pending jobsДержите max replicas +1, пока merge JSON не pass.
Cooldown120 с задержка scale-downСнижает дрожание при повторах webhook во время анализа.
minReplicaCount1 stable + 0 canary workersCanary — отдельная метка Deployment.
Activation0 → простаивающие шлюзы спятБудите только AZ-срез под тестом.

Согласуйте promote lock с паттерном Nomad build lock, чтобы rsync не шёл, пока KEDA масштабирует canary Deployment.

Канареечные срезы шлюза multi-AZ

Закрепите метки gateway_version и az на каждом Mac. Направляйте webhook канарейки на hostname с тегом из multi-AZ gateway webhook, а не на stable-пул для SSH. Повторите доли трафика из canary skills multi-AZ и фрагменты узлов из fragment merge workflow. Регионы выбирайте на главной до добавления четвёртого шлюза.

Пробы метрик: пороги latency и error rate

Возвращайте один объединённый JSON за интервал опроса ScaledObject — та же дисциплина, что у Rollouts или Flagger, но оценка на стороне webhook шлюза до роста реплик KEDA.

СигналСтартовый порогFail when
Доля 5xx канарейки≤ 0,5% за пять минутДва окна подряд выше потолка.
p99 latency шлюза≤ 220 мс на VIP канарейкиРегрессия > 15% к stable baseline.
Глубина очереди≤ 12 pending jobsОчередь растёт при увеличении веса канарейки.
degradedHTTP 200 с явным booleandegraded: true — fail closed.
{
  "status": "healthy",
  "keda": "openclaw-build-lane",
  "canary": { "5xx_rate": 0.003, "p99_ms": 158 },
  "gateway": { "disk_ok": true, "queue_depth": 5, "skill_hash": "c4e1…" },
  "degraded": false
}

Broadcast digest сбоев webhook

Держите два bearer-секрета с перекрытием минимум на одно окно опроса KEDA. При неуспешной классификации пакуйте digest на notifier Mac по контракту cluster logs webhook — дежурный читает одно резюме, пока scaler повторяет.

  • Primary token: заголовок custom metric / webhook шлюза для ScaledObject.
  • Overlap token: принимается семь суток после ротации.
  • Потолок повторов: три попытки на шлюз с jitter; интервал опроса ≥ 60 с на время обслуживания.

Lock версии skill pack и откат

Заморозьте хеши skill pack при canary_active=true. При abort откатите хеш, верните maxReplicaCount KEDA к stable lane и снимите flock rsync по матрице rsync артефактов. Сбои Doctor по-прежнему валят merge JSON — см. Doctor deep checks до расширения трафика.

Водяные знаки диска 1 ТБ / 2 ТБ на Mac-шлюзах

Включите disk_ok в merge-пробы. Fail closed при пересечении жёлтого порога APFS во время scale-out.

ТирЖёлтый порогДействие
Шлюз 1 ТБ≥ 82% занятоБлок scale-up KEDA; broadcast digest.
Шлюз 2 ТБ≥ 78% занятоТо же; только stable lane.
Красный порог≥ 90% любой тирScale до min replicas; drain VIP канарейки.

KEDA против Flagger и Argo Rollouts (чем отличается эта статья)

Flagger и Rollouts сдвигают вес трафика при почти фиксированном числе реплик. KEDA меняет ёмкость, когда очередь или custom metrics этого требуют — типично для всплесков сборки на параллельных lane Mac в clustervps.

  • KEDA (эта статья): триггеры ScaledObject, связка с очередью, потолок реплик на канарейке.
  • Flagger: Canary CRD + AnalysisRun — runbook Flagger.
  • Argo Rollouts: AnalysisRun на объектах Rollout — пробы Rollouts.
  • Flux: GitOps-автоматизация образов — Flux canary.

Один upstream на URL измерения шлюза. Не вызывайте один handler одновременно из scale KEDA и AnalysisRun Rollouts в одну минуту.

Семь шагов минимального воспроизведения

  1. Установите KEDA и убедитесь, что ScaledObject целит Deployment воркеров OpenClaw — не DaemonSet шлюза.
  2. Подключите триггер к глубине очереди сборки с cooldown и потолком реплик для канарейки.
  3. Откройте /keda/metrics на Mac-шлюзе с тегом canary и bearer auth.
  4. Верните merge JSON с latency, error rate, queue_depth, disk_ok и skill_hash.
  5. Заблокируйте skill pack и приостановите rsync до pass проб или abort.
  6. Включите broadcast сбоев на путь notifier; отрепетируйте scale-down при degraded true.
  7. Проверьте curl с бастиона, пока KEDA держит реплики на потолке канарейки.

Цифры для цитирования (runbook)

  • Контракт измерения: одна версия merge JSON schema в Git на флот шлюзов.
  • Заморозка масштаба: без scale-up KEDA, пока degraded: true два окна опроса подряд.
  • Заморозка promote: без delete-тяжёлого rsync при canary_active.
Только операционные рекомендации. API KEDA, Kubernetes и OpenClaw меняются; сверьте триггеры ScaledObject и тела webhook с установленными версиями до продакшена.
Параллельный Mac-кластер clustervps

Подключите канарейки KEDA на многоузловом флоте OpenClaw

Сравните Flagger и Nomad build lock, затем на главной или странице аренды кластера закажите параллельные Mac mini M4 с SSH/VNC.

Развернуть узлы параллельного кластера Тарифы кластера