OSS探訪

Blue-GreenやCanary配備をKubernetes CRDで制御し、メトリクスを使って段階的な昇格・ロールバックを行う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
3,592
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Argo Rolloutsは、KubernetesのDeploymentを置き換えるRollout CRDとcontrollerで、Blue-GreenやCanaryなどのProgressive Deliveryを実現するOSSです。段階的なtraffic切り替え、metricsに基づくAnalysis、手動promotionやabortを組み合わせ、変更の影響範囲を小さくしながら配備できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Blue-GreenとCanaryをRollout CRDとして宣言する

通常のRollingUpdateより細かく、pause、setWeight、promotionなどのstepを定義できます。Blue-Greenではpreviewとactiveを分け、Canaryでは新旧ReplicaSetの比率を段階的に変えられます。

出典:[1][2]

Ingress・Service Mesh・metrics providerと連携してtrafficと判定を自動化する

NGINX、ALB、Istioなどのtraffic shapingと連携でき、Prometheus等のmetricsをAnalysisで評価して自動promotionやrollbackへつなげられます。

出典:[1]

配備状態を監視し、promotionやabortを明示的に操作する

公式getting startedではRolloutをwatchし、pauseしたCanaryをpromotionしたり、問題がある更新をabortしてstable ReplicaSetへ戻す流れを確認できます。

出典:[2]

向いている用途

本番配備のblast radiusを段階的に制御したいKubernetes運用に向く

高トラフィックのサービスや、更新時にKPIを確認しながら段階的に利用者へ展開したいplatform/application teamで特に効果があります。

出典:[1]

導入前の確認

controllerとCRDを継続運用し、必要なtraffic routerやmetrics providerも管理する

Argo RolloutsはKubernetes clusterへcontrollerとCRDを追加します。高度なtraffic shapingや自動分析を使う場合は、対応するIngress、Service Mesh、metrics providerの互換性・権限・障害時挙動も運用対象になります。

出典:[1]

traffic routerを使わない基本CanaryではPod比率による近似になる

公式getting startedの基本例では通常のKubernetes Serviceを使うため、Canary比率はReplica数で近似されます。細粒度のtraffic weightが必要なら対応するIngress controllerやService Meshを利用します。

出典:[2]

導入時は安定版を固定し、Releaseとupgrade情報を確認する

2026年10月3日時点の最新安定版はv1.10.0です。clusterや連携先との互換性を確認し、productionではlatest URL任せではなく採用versionを固定して更新手順を管理します。

出典:[3]

参考にした公式資料

  1. [1]Argo Rollouts README(2026-10-03)
  2. [2]Argo Rollouts Getting Started(2026-10-03)
  3. [3]Argo Rollouts v1.10.0 release(2026-10-03)
  4. [4]Argo Rollouts Apache-2.0 license(2026-10-03)
編集部からの補足

Kubernetes Deploymentより細かく配備速度と判定条件を制御したい場合に有力です。特にtraffic routerやmetrics providerを使う高度なCanaryは、Rollouts単体ではなく周辺基盤まで含めて運用設計してください。

3ステップで試す

  1. 1

    Argo Rollouts v1.10.0 controllerを導入する

    検証clusterへcontrollerとCRDを導入します。productionでは採用versionを固定し、upgradeと連携先の互換性を確認してください。

    kubectl create namespace argo-rollouts && kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/download/v1.10.0/install.yaml
  2. 2

    公式Canary sampleを適用する

    5 replicasのRolloutとServiceを作成し、pauseとweight変更を含む基本Canary strategyを確認します。

    kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/v1.10.0/docs/getting-started/basic/rollout.yaml && kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/v1.10.0/docs/getting-started/basic/service.yaml
  3. 3

    Rollout resourceの状態を監視する

    Custom Resourceの状態遷移を確認します。さらにpromotionやabortを試す場合は公式getting-startedのkubectl plugin手順へ進んでください。

    kubectl get rollouts.argoproj.io rollouts-demo -w
公式READMEで確認

成長

成長の推移 · 直近30日

3,592 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
36
Open PR
164

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • gitops
  • canary
  • bluegreen
  • kubernetes
  • argoproj
  • deployments
  • experiments
  • argo-rollouts
  • progressive-delivery
  • hacktoberfest
Stars
3,592
Forks
1,219
Watchers
38
Open Issues
498
Contributors
394
所有者種別
Organization
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?