Helm
https://gyazo.com/b0951e9a9a678d8de0231eaf78d5f376
GPT-4.icon
Helm は Kubernetes のパッケージマネージャー です。
Kubernetesではリソースを YAML ファイルで定義して kubectl apply などでデプロイしますが、大規模・複雑な構成になってくると以下のような課題が生まれます:
マニフェストが大量に増えて管理が煩雑になる
複数環境(dev/stg/prod)で値だけ変えたい
再利用可能なテンプレートを作りたい
外部のOSSを簡単に導入したい(例:nginx, prometheus)
→ それを解決してくれるのが Helm です。
🧰 Helmの基本用語
Values
Chart のテンプレートで使用する設定値。環境ごとに使い分けできる。
helm repo add で追加できる。
🛠 主なコマンド
code:bash
# Chartをリポジトリからインストール
helm install my-nginx bitnami/nginx
# 既存リリースのアップグレード
helm upgrade my-nginx bitnami/nginx -f values.yaml
# リリースの削除
helm uninstall my-nginx
# Chartの作成
helm create myapp
🎯 Helmの使い所
Helmは特に以下のケースで力を発揮します:
OSSミドルウェア(PostgreSQL, Redis, Nginxなど)の導入
複雑なマニフェストを整理して再利用性を高める
複数環境の切り替え(values-dev.yaml などで管理)
CI/CDと連携して helm upgrade によるデプロイ
📎 参考までに:公式リソース
🧭 Helmの基本的な使い方の流れ(全体像)
2. Chartリポジトリを追加
3. Chartを検索・確認
4. Chartをインストール(=Releaseを作成)
5. 設定をカスタマイズしたければ values.yaml を使う
6. アップグレード・削除などの管理を行う
code:bash
helm repo update
code:bash
helm search repo nginx
code:bash
helm install my-nginx bitnami/nginx
→ これで my-nginx という名前で nginx がデプロイされます。
⑤ 設定をカスタマイズしたいとき(任意)
code:bash
helm show values bitnami/nginx > values.yaml
# values.yaml を編集したら以下で再デプロイ
helm upgrade my-nginx bitnami/nginx -f values.yaml
⑥ アンインストール(削除したいとき)
code:bash
helm uninstall my-nginx
📝 状態の確認コマンド
code:bash
helm list # インストール済みのリリース一覧
kubectl get all # k8sリソースの状態確認
helm status my-nginx # リリースの詳細情報