Kubernetes Learning 第32章:Helmの基本操作(install, upgrade, rollback)~マニフェスト管理をもっと効率よく、自動化するために~

Kubernetesのリソースは通常、YAMLファイルを kubectl apply -f で適用することでデプロイしますよね。ただし、アプリケーションが大きくなると、関連するYAMLが複数に分かれ、環境ごとの値の切り替えや更新管理が大変になります。

ここで登場するのが、Helm(ヘルム) です。
Helm は、Kubernetes のパッケージマネージャで、Kubernetes アプリケーションを「チャート(Chart)」としてまとめ、簡単にインストール・更新・ロールバックができるようになります。


🧺 Helmって何ができるの?

Helm では、以下のことができるようになります:

  • 複数のYAMLを「ひとまとまりのチャート」として管理できる
  • 環境ごとの設定を values.yaml に切り替えるだけで適用できる
  • バージョン管理やロールバックも簡単
  • 公式チャートやOSSのチャートもそのまま使える

まるで「apt」や「yum」のような存在だと考えると分かりやすいです。


✅ 基本操作:インストール(helm install

まずはアプリケーションを新規にインストールしてみましょう。

helm install my-release bitnami/nginx
  • my-release: リリース名(この名前で識別される)
  • bitnami/nginx: Chart名(リポジトリにあるパッケージ)

Helmはこのコマンドで、内部的に複数のKubernetesマニフェストを生成し、まとめてデプロイしてくれます。


🔄 アップグレード(helm upgrade

設定やバージョンを変えたいときは、以下のようにアップグレードできます。

helm upgrade my-release bitnami/nginx --set service.type=LoadBalancer

--set オプションで上書き可能

--values を使えばカスタムの values.yaml を適用可能です

helm upgrade my-release -f values-prod.yaml bitnami/nginx

↩️ ロールバック(helm rollback

Helmはデプロイ履歴を保持してくれるので、万が一失敗したときも簡単に元に戻せます。

helm rollback my-release 1
  • 1 はロールバックしたいリビジョン番号です(helm history で確認可能)

📚 履歴確認(helm history

ロールバックやデバッグの前に、今までの変更履歴を確認しておくと安心です。

helm history my-release

これで、いつ・どんな変更があったかが一覧で分かります。


🧪 実行前に確認したい場合(helm template

実際のYAMLファイルを確認したいときにはこちら:

helm template my-release bitnami/nginx

このコマンドは、デプロイせずに生成されるYAMLファイルを出力するだけです。GitOpsやCI/CDで使う際に便利です。


💡 注意点

  • Helmチャートによっては複雑な依存関係やテンプレートが含まれるため、ドキュメントの確認は重要
  • values.yaml を明示的に管理しておくと、再現性のあるデプロイができる
  • Helmは単なるテンプレートツールではなく、「リリースの管理」もしてくれるのが強み

🧩 まとめ

操作コマンド例説明
インストールhelm install my-release chart新規にデプロイ
アップグレードhelm upgrade my-release chart設定やバージョンの更新
ロールバックhelm rollback my-release 1過去の状態に戻す
履歴確認helm history my-releaseバージョン履歴を表示

Helmを使いこなすと、Kubernetesのデプロイ運用が一気にスムーズになります。

mh

Related Posts

Kubernetes Learning 第31章:コンテナのセキュリティ対策(PodSecurityなど)~Kubernetes環境を守るために最低限知っておきたいこと~

Kubernetes Learning 第30章:NetworkPolicyの使い方 〜Pod間通信を制御するセキュリティの要〜

You Missed

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第6章:Cloud Shellの活用:GCPを「どこからでも手軽に操作できる秘密基地」

  • 投稿者 mh
  • 6月 6, 2025
  • 10 views

Kubernetes Learning 第32章:Helmの基本操作(install, upgrade, rollback)~マニフェスト管理をもっと効率よく、自動化するために~

  • 投稿者 mh
  • 6月 5, 2025
  • 14 views

現場で使えるChrome DevTools実践ガイド 第11章:アクセシビリティの確認

  • 投稿者 mh
  • 6月 5, 2025
  • 18 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第5章:Cloud SDKとgcloudコマンド:GCPを「キーボードから操る」魔法のツール

  • 投稿者 mh
  • 6月 4, 2025
  • 26 views

Kubernetes Learning 第31章:コンテナのセキュリティ対策(PodSecurityなど)~Kubernetes環境を守るために最低限知っておきたいこと~

  • 投稿者 mh
  • 6月 4, 2025
  • 28 views

現場で使えるChrome DevTools実践ガイド 第10章:Device Modeでのレスポンシブ検証

  • 投稿者 mh
  • 6月 4, 2025
  • 30 views