HelmはKubernetes向けのパッケージマネージャーで、複雑なアプリケーションのデプロイを簡単にしてくれるツールです。 Helmコマンドをよく忘れてしまうので、基本的なコマンドを備忘録としてまとめました。

インストール方法

macOSの場合は以下のコマンドでインストールできます。

brew install helm

リポジトリ管理

リポジトリの追加

# リポジトリを追加する
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami

リポジトリの一覧表示

# 追加されているリポジトリを確認する
helm repo list

リポジトリの更新

# リポジトリのインデックスを更新する(新しいチャートバージョンを取得)
helm repo update

チャートの検索・確認

チャートの検索

# リポジトリからチャートを検索する
helm search repo nginx
helm search repo mysql

チャート情報の表示

# チャートの詳細情報を表示する
helm show chart bitnami/nginx
helm show values bitnami/nginx

リリース管理

インストール

# チャートをインストールする
helm install my-nginx bitnami/nginx

# 名前空間を指定してインストール
helm install my-nginx bitnami/nginx -n production --create-namespace

# カスタム値でインストール
helm install my-nginx bitnami/nginx --set service.type=LoadBalancer

リリース一覧の表示

# インストール済みのリリースを表示する
helm list

# 全ての名前空間のリリースを表示する
helm list -A

# 特定の名前空間のリリースを表示する
helm list -n production

リリース情報の確認

# リリースの詳細情報を表示する
helm get all my-nginx

# リリースの設定値を表示する
helm get values my-nginx

# リリースの履歴を表示する
helm history my-nginx

アップグレード

# リリースをアップグレードする
helm upgrade my-nginx bitnami/nginx

# 新しい値でアップグレード
helm upgrade my-nginx bitnami/nginx --set image.tag=1.21.0

ロールバック

# 前のバージョンにロールバックする
helm rollback my-nginx

# 特定のリビジョンにロールバックする
helm rollback my-nginx 2

アンインストール

# リリースを削除する
helm uninstall my-nginx

# 名前空間を指定して削除
helm uninstall my-nginx -n production

便利なオプション

ドライラン

実際にはインストールせずに、何が実行されるかを確認できます。

helm install my-nginx bitnami/nginx --dry-run --debug
helm upgrade my-nginx bitnami/nginx --dry-run --debug

テンプレートの確認

# 生成されるKubernetesマニフェストを確認する
helm template my-nginx bitnami/nginx