プラットフォーム工程向け。 clustervps 多ノードの OpenClaw 網関に
Flagger の Canary と AnalysisRun Webhook を接続し、カナリア指標・探針合算・失敗 digest を最小再現します。役割分担表・六手順・FAQ を収録。ホームからリージョン概要も確認できます。
多 AZ 運用で先に詰まる三つの壁
- レーン混線。 Flagger・Rollouts 分析稿・Flux 稿 が同一 URL を奪い合います。
- 閾値ずれ。 MetricTemplate と網関 JSON のキー不一致で黙って昇格します。
- 昇格と同期の競合。 カナリア窓にバイナリ差替と無制限 rsync が重なると計測が壊れます。
役割分担マトリクス(採点レーン)
| コントローラ | 入力 | 網関の返し |
|---|---|---|
| Flagger Canary | MetricTemplate/Webhook | カナリア 5xx・p99・degraded |
| Argo Rollouts | AnalysisRun HTTP | 合算 JSON(漸進採点) |
| Flux Automation | レジストリ通知 JSON | タグ書き戻しゲート |
多ノード網関バージョンスライスとスキルパッケージロック
Kustomize で gateway イメージ と skills バンドル をリージョン別に固定します。skills 稿 の semver ロックをカナリア対象表に載せ、未ロックの技能包は加重ゼロのままにします。
マルチ AZ 網関稿 の VIP 規約に合わせ、AnalysisRun はカナリア専用ホストのみへ向けます。
AnalysisRun 指標閾値と探針合流
MetricTemplate に 5xx・p99・キュー深度を書き、網関 /health/flagger は一 JSON で返します。
{"status":"ok","canary_weight":10,"5xx":0.002,"p99_ms":210,"degraded":false}
閾値超過は HTTP 200 でも degraded:true で昇格停止。doctor 稿 の深検査を同ブロックへマージします。
Webhook 失敗要約ブロードキャストとトークン輪換
Flagger の webhook 先を網関 HTTPS に固定し、Bearer は新旧二鍵併存で飛行中 AnalysisRun と競合しません。失敗時は rollout 名・指標差・AZ を二百字以内で notifier へ(詳細は ログ稿 の JSONL へ)。
生成物 rsync とビルドロック参数
カナリア窓は昇格パスのみ flock。rsync 決定表稿 の bwlimit を踏襲します。
flock -n /var/tmp/promote.lock rsync -az --bwlimit=24576 \ golden:/artifacts/ ./artifacts/
最小再現:六手順
- Canary CR と MetricTemplate を namespace 固定。
- 網関スライス で gateway/skills をリージョン分割。
- 探針合算 URL を Flagger と README に明記。
- Webhook+Bearer を Secret 参照で一致。
- rsync/flock で生成物のみ同期、バイナリは abort 後。
- abort 練習 で網関重みゼロと Flagger rollback を同 runbook に。
可引用 初動加重五〜十五パーセント/5xx 閾値0.5%目安/Webhook 再送は指数バックオフ三回上限。
カナリアロールバック FAQ
Flagger abort 後も 5xx が残る: 網関重みと安定プールのキャッシュを確認し、ローリング稿 の依存順と揃えます。
AnalysisRun がタイムアウト: カナリア VIP の DNS と踏み台 curl の SNI を突き合わせます。
Flux と併用: パスと Secret を分離。混線は JSON 奪い合いになります。
免責です。 Flagger/OpenClaw の CRD フィールドはバージョンで変わります。実装前にインストール済みコントローラの公式ドキュメントへ突き合わせてください。
関連ハウツーと多ノード購入
Rollouts/Flux 稿を読んだら clustervps 多ノードへ
Argo Rollouts 分析稿・Flux Webhook 稿と併読し、購入で Mac 網関ノードを足してください。