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 第40章:Kubernetesのアップグレードとバージョン管理 ~安全にバージョンを上げるための基本知識~

Kubernetes Learning 第39章:CRD(Custom Resource Definition)とは?~Kubernetesに“自分専用のリソース”を追加する仕組み~

You Missed

Kubernetes Learning 第40章:Kubernetesのアップグレードとバージョン管理 ~安全にバージョンを上げるための基本知識~

  • 投稿者 mh
  • 6月 24, 2025
  • 56 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第13章:ストレージとデータベースの基礎 : オブジェクトストレージ: Cloud Storage(バケット、オブジェクト、ストレージクラス)- あなたの「データ置き場」

  • 投稿者 mh
  • 6月 23, 2025
  • 73 views

Kubernetes Learning 第39章:CRD(Custom Resource Definition)とは?~Kubernetesに“自分専用のリソース”を追加する仕組み~

  • 投稿者 mh
  • 6月 21, 2025
  • 72 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第12章:Cloud CDN(Content Delivery Network):あなたのWebサイトを「世界中のユーザーに超高速で届ける宅配便ネットワーク」

  • 投稿者 mh
  • 6月 20, 2025
  • 91 views

Kubernetes Learning 第38章:Operatorとは? ~Kubernetesに「運用の自動化ロボット」を組み込む仕組み~

  • 投稿者 mh
  • 6月 19, 2025
  • 79 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第11章:Cloud Load Balancing:あなたのGCPリソースを「賢く振り分ける交通整理の達人」

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