mcpField
H
helm-release-management

helm-release-management

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

helm-release-management について

Helmリリースの日常的な運用手順をまとめたスキルです。Kubernetesへのデプロイを担当する開発者や運用者向けに、インストール、アップグレード、アンインストール、状態確認、履歴や一覧の確認を扱います。

主な機能

  1. 01Helmリリースのインストールと設定
  2. 02リリースのアップグレードと値の上書き管理
  3. 03履歴を保持したリリースのアンインストール
  4. 04名前空間ごとのリリース一覧
  5. 05状態、リソース、マニフェスト、値の確認
  6. 06リリースのリビジョン履歴を表示

活用シーン

  1. 01指定した名前空間にHelm chartをデプロイ
  2. 02chartのバージョン更新や設定値の変更
  3. 03リリース状態とデプロイ済みリソースの確認
  4. 04複数の名前空間にまたがるリリースと履歴の確認

インストール

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

$npx skills add https://github.com/laurigates/claude-plugins --skill helm-release-management

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

同梱ファイルREFERENCE.md

詳細

Helm リリース管理

インストール、アップグレード、アンインストール、リリース追跡など、日常的な Helm リリース運用に関する包括的なガイダンスです。

このスキルを使用する場面

このスキルを使用する場面...代わりに を使用する場面...
helm install、helm upgrade、helm uninstall を実行する場合、またはリリースを一覧表示する場合アップグレードが失敗し、ロールバックや停止状態からの復旧が必要な場合は、helm-release-recovery を使用します
リリースのステータスや履歴を確認する場合、または新しいチャートバージョンをロールアウトする場合環境間での値の設定が主な目的の場合は、helm-values-management を使用します
既存のチャートをステージングから本番環境へ昇格させる場合インストールするチャートを作成する場合は、helm-chart-development を使用します

使用する場面

次の場合、このスキルを自動的に使用します。

  • ユーザーが Helm チャートのデプロイまたはインストールを依頼した場合
  • ユーザーが Helm リリースのアップグレードまたは更新に言及した場合
  • ユーザーが名前空間をまたいでリリースを一覧表示または管理したい場合
  • ユーザーがリリースの履歴やステータスを確認する必要がある場合
  • ユーザーがリリースのアンインストールまたは削除を依頼した場合

リリースの基本操作

新しいリリースをインストールする
# Basic install
helm install <release-name> <chart> --namespace <namespace> --create-namespace

# Install with custom values
helm install myapp bitnami/nginx \
  --namespace production \
  --create-namespace \
  --values values.yaml \
  --set replicaCount=3

# Install with atomic rollback on failure
helm install myapp ./mychart \
  --namespace staging \
  --atomic \
  --timeout 5m \
  --wait

# Install from repository with specific version
helm install mydb bitnami/postgresql \
  --namespace database \
  --version 12.1.9 \
  --values db-values.yaml

# Dry-run before actual install
helm install myapp ./chart \
  --namespace prod \
  --dry-run \
  --debug

主なフラグ:

  • --namespace - 対象の名前空間(必ず明示的に指定してください)
  • --create-namespace - 名前空間が存在しない場合に作成します
  • --values / -f - 値ファイルを指定します
  • --set - 個別の値を上書きします
  • --atomic - 失敗時に自動的にロールバックします(推奨)
  • --wait - リソースの準備が整うまで待機します
  • --timeout - 待機する最大時間(デフォルトは 5m)
  • --dry-run --debug - インストールせずにプレビューします
既存のリリースをアップグレードする
# Basic upgrade with new values
helm upgrade myapp ./mychart \
  --namespace production \
  --values values.yaml

# Upgrade with value overrides
helm upgrade myapp bitnami/nginx \
  --namespace prod \
  --reuse-values \
  --set image.tag=1.21.0

# Upgrade with new chart version
helm upgrade mydb bitnami/postgresql \
  --namespace database \
  --version 12.2.0 \
  --atomic \
  --wait

# Install if not exists, upgrade if exists
helm upgrade --install myapp ./chart \
  --namespace staging \
  --create-namespace \
  --values values.yaml

# Force upgrade (recreate resources)
helm upgrade myapp ./chart \
  --namespace prod \
  --force \
  --recreate-pods

主なフラグ:

  • --reuse-values - 既存の値を再利用し、新しい値とマージします
  • --reset-values - 既存の値を無視し、チャートのデフォルト値に戻します
  • --install - リリースが存在しない場合にインストールします
  • --force - リソースの更新を強制します(慎重に使用してください)
  • --recreate-pods - 変更がなくても Pod を再作成します
  • --cleanup-on-fail - アップグレード失敗時に新しいリソースを削除します

値の上書きの優先順位(低い順から高い順):

  1. チャートのデフォルト値(チャート内の values.yaml)
  2. 以前のリリースの値(--reuse-values を指定した場合)
  3. 親チャートの値
  4. ユーザーが指定した値ファイル(-f values.yaml)
  5. 個別の値の上書き(--set key=value)
リリースをアンインストールする
# Basic uninstall
helm uninstall myapp --namespace production

# Uninstall but keep history (allows rollback)
helm uninstall myapp \
  --namespace staging \
  --keep-history

# Uninstall with timeout
helm uninstall myapp \
  --namespace prod \
  --timeout 10m \
  --wait
リリースを一覧表示する
# List releases in namespace
helm list --namespace production

# List all releases across all namespaces
helm list --all-namespaces

# List with additional details
helm list \
  --all-namespaces \
  --output yaml \
  --max 50

# List including uninstalled releases
helm list --namespace staging --uninstalled

# Filter releases by name pattern
helm list --filter '^my.*' --namespace prod

主なフラグ:

  • --all-namespaces / -A - すべての名前空間のリリースを一覧表示します
  • --all - 失敗したリリースも含め、すべてのリリースを表示します
  • --uninstalled - アンインストール済みのリリースを表示します
  • --failed - 失敗したリリースのみを表示します
  • --pending - 保留中のリリースを表示します
  • --filter - リリース名で絞り込みます(正規表現)

リリース情報と履歴

リリースのステータスを確認する
# Get release status
helm status myapp --namespace production

# Show deployed resources
helm status myapp \
  --namespace prod \
  --show-resources
リリース履歴を表示する
# View revision history
helm history myapp --namespace production

# View detailed history
helm history myapp \
  --namespace prod \
  --output yaml \
  --max 10
リリースを調査する
# Get deployed manifest
helm get manifest myapp --namespace production

# Get deployed values
helm get values myapp --namespace production

# Get all values (including defaults)
helm get values myapp --namespace prod --all

# Get release metadata
helm get metadata myapp --namespace production

# Get release notes
helm get notes myapp --namespace production

# Get everything
helm get all myapp --namespace production

新しいアプリケーションのデプロイ、設定の更新、チャートバージョンのアップグレード、複数環境へのデプロイなどの一般的なワークフロー、ベストプラクティス、トラブルシューティング、他のツールとの連携については、REFERENCE.md を参照してください。

エージェント向けの最適化

コンテキストコマンド
リリースの一覧(構造化形式)helm list -n <ns> -o json
リリース履歴(構造化形式)helm history <release> -n <ns> --output json
リリースのステータス(構造化形式)helm status <release> -n <ns> -o json
値(構造化形式)helm get values <release> -n <ns> -o json
失敗したリリースhelm list -n <ns> --failed -o json

関連スキル

  • Helm デバッグ - デプロイ失敗のトラブルシューティング
  • Helm 値管理 - 高度な値の設定
  • Helm リリース復旧 - ロールバックと復旧の戦略
  • ArgoCD CLI ログイン - ArgoCD との GitOps 連携
  • Kubernetes 運用 - デプロイ済みリソースの管理

参考資料

コメント