【へるむ】
Helm とは?
最終更新:
💡 KubernetesのアプリをChartで管理する道具
Kubernetesアプリに必要なリソースの定義を、チャートというパッケージで管理するツール。設定値とテンプレートからマニフェストを生成し、インストールや更新を行う。導入したチャートの一つの実体をリリースと呼ぶ。
📌 このページのポイント
HelmってKubernetesがあれば不要じゃないの?
Kubernetesに渡すDeploymentやServiceなどの定義を、まとめて扱える道具だよ。Helmのチャートはテンプレートや設定値などを含むパッケージ。必要なクラスタ・権限・チャートの要件を満たした上で、インストールや更新に使うんだ。
開発環境と本番環境で設定を変えたいときは?
values.yamlの初期値に、環境ごとの値を上書きして使えるよ。たとえばレプリカ数を設定できるチャートなら、開発では1、本番では3にする。ただし、書いた値が反映されるのはテンプレートがその値を参照する場合だね。
チャートとリリースはどう違うの?
公開チャートはそのまま使える?
Artifact Hubはさまざまな配布元のチャートを探す場所だよ。配布元、対応するKubernetesの版、必要な権限やストレージ、設定値を確認する。公開されているだけで、自分の環境や運用に合うとは限らないんだ。
フックが失敗したら、自動で元通りになる?
もっと詳しく知りたい人へ
更新失敗時のロールバックはどう設定する?
Helm 4ではhelm upgradeの--rollback-on-failureで失敗時に以前の成功リリースへの復元を要求できる。フックで変更したDBデータや外部サービスまで巻き戻す保証はないので、バックアップと復旧手順を別に用意する。利用中の版のヘルプでオプションを確認しよう。
まとめ:ざっくりこれだけ覚えればOK!
「Helm」って出てきたら「Kubernetesアプリをパッケージでまとめてデプロイするツールのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Helm」 = 舵・操舵装置
💬 Helmは英語で舵や操舵装置を表す言葉だよ。Kubernetesアプリを扱うパッケージマネージャーの名前なんだ