mcpField
A
ArgoRollouts

ArgoRollouts

github.com/julianobarbosaクラウド・DevOps1452 回インストール2 日前に更新
リポジトリ

ArgoRollouts について

ArgoRolloutsは、Kubernetesのプログレッシブデリバリーコントローラーに関するスキルガイドです。Kubernetes運用担当者向けに、ブルーグリーンやカナリアデプロイ、トラフィックルーティング、メトリクス分析の設定とトラブルシューティングを扱います。

主な機能

  1. 01ブルーグリーンとカナリア戦略
  2. 02段階的なトラフィック移行
  3. 03メトリクスに基づく昇格とロールバック
  4. 04AnalysisTemplateとAnalysisRunの解説
  5. 05トラフィック管理プロバイダーとの連携
  6. 06kubectl-argo-rolloutsコマンドのリファレンス

活用シーン

  1. 01分析ゲート付きカナリアリリースの設定
  2. 02ブルーグリーン昇格前のプレビュー検証
  3. 03一時停止したリリースや分析失敗の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill argorollouts

インストール後、Claude Code で/argorolloutsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
analysis-metrics.md
cli-commands.md
deployment-strategies.md
examples.md
summary.md

詳細

Argo Rollouts スキル

Argo Rollouts の包括的なガイドです。Kubernetes 向けのコントローラーで、ブルーグリーン、カナリア、実験などの高度なデプロイ機能を提供します。

クイックリファレンス

リソース説明
RolloutDeployment を置き換え、段階的デリバリー戦略を追加します
AnalysisTemplate自動分析用のメトリクスクエリを定義します
AnalysisRunテンプレートから作成された分析インスタンスです
ExperimentA/B テスト用の ReplicaSet を実行します
ClusterAnalysisTemplateクラスタースコープの AnalysisTemplate です

コアコンセプト

Rollout CRD

Rollout リソースは標準の Kubernetes Deployment を置き換え、次の機能を提供します。

  • ブルーグリーン戦略:バージョン間のトラフィックを即時に切り替えます
  • カナリア戦略:分析ゲートを設けて、トラフィックを段階的に移行します
  • トラフィック管理:サービスメッシュおよびイングレスコントローラーと連携します
  • 自動分析:メトリクスに基づいて昇格またはロールバックを判断します
デプロイ戦略

ブルーグリーン:

strategy:
  blueGreen:
    activeService: my-app-active
    previewService: my-app-preview
    autoPromotionEnabled: false

カナリア:

strategy:
  canary:
    steps:
    - setWeight: 20
    - pause: {duration: 5m}
    - setWeight: 50
    - analysis:
        templates:
        - templateName: success-rate

トラフィック管理の連携

プロバイダー設定キー
IstiotrafficRouting.istio
NGINX IngresstrafficRouting.nginx
AWS ALBtrafficRouting.alb
LinkerdtrafficRouting.linkerd
SMItrafficRouting.smi
TraefiktrafficRouting.traefik
AmbassadortrafficRouting.ambassador

CLI コマンド(kubectl-argo-rollouts)

# Installation
kubectl argo rollouts version

# Rollout Management
kubectl argo rollouts get rollout <name>
kubectl argo rollouts status <name>
kubectl argo rollouts promote <name>
kubectl argo rollouts abort <name>
kubectl argo rollouts retry <name>
kubectl argo rollouts undo <name>
kubectl argo rollouts pause <name>
kubectl argo rollouts restart <name>

# Dashboard
kubectl argo rollouts dashboard

# Validation
kubectl argo rollouts lint <file>

分析プロバイダー

プロバイダー用途
PrometheusPromQL によるメトリクスクエリ
DatadogDatadog メトリクス API
New RelicNRQL クエリ
WavefrontWavefront クエリ
Kayentaカナリア分析プラットフォーム
CloudWatchAWS CloudWatch メトリクス
WebHTTP エンドポイントのチェック
JobKubernetes Job ベースの分析

リファレンスドキュメント

よくあるパターン

自動分析を使用するカナリア
steps:
- setWeight: 10
- pause: {duration: 1m}
- analysis:
    templates:
    - templateName: success-rate
    args:
    - name: service-name
      value: my-service
- setWeight: 50
- pause: {duration: 2m}
昇格前分析を使用するブルーグリーン
strategy:
  blueGreen:
    activeService: active-svc
    previewService: preview-svc
    prePromotionAnalysis:
      templates:
      - templateName: smoke-tests
    autoPromotionEnabled: false

トラブルシューティング

問題解決策
Rollout が Paused の状態で停止するkubectl argo rollouts promote <name> を実行します
分析に失敗するAnalysisRun のステータスとメトリクスクエリを確認します
トラフィックが移行しないトラフィック管理プロバイダーの設定を確認します
Pod がスケールしないHPA とリソース制限を確認します

ベストプラクティス

  1. 本番環境のカナリアでは、必ず分析ゲートを使用します
  2. 重みを増やす間に、適切な一時停止時間を設定します
  3. AnalysisTemplate でロールバックのしきい値を設定します
  4. ブルーグリーンの検証には、プレビューサービスを使用します
  5. デプロイ中は、AnalysisRun を監視します
  6. アプリケーションコードとともに、AnalysisTemplate をバージョン管理します

コメント