【ヘルムチャート】

Helm Chart とは?

最終更新:
💡 アプリの設計図と設定値を、ひとまとめに配布

Helmが扱うKubernetesリソースのパッケージ。Chart.yaml、マニフェストのテンプレート、既定の設定値などをまとめ、アプリの配布やデプロイに使う。

📌 このページのポイント
Helm Chart:設計図と値を組み合わせるChartChart.yaml:情報templates:設計図values.yaml:既定値環境別の設定値例:レプリカ数使う値を指定Helmで生成・適用Kubernetesリソース導入先の条件とデータも確認しよう
アプリ用チャートの一部構成を示す例。環境別の値を選んで渡します。設定を戻すこととDBのデータ復旧は別の作業です。
ひよこ ひよこ
Helm Chartは、アプリそのものが入っているの?
ペンギン先生 ペンギン先生
主にKubernetesリソースのテンプレートや設定値をまとめたパッケージだよ。Chart.yamlにはチャートの情報、templatesには設計図、values.yamlには既定値を置く。コンテナイメージは通常、生成される設定が別の場所を参照するんだ。
ひよこ ひよこ
開発環境と本番で、別々に作り直す?
ペンギン先生 ペンギン先生
対応する設定項目なら、同じチャートへ環境別の値を渡せるよ。例えばレプリカ数やイメージのタグを変更する。環境別ファイルを用意しただけで自動的に選ばれるわけではなく、使うファイルや値をHelmへ指定するんだ。
ひよこ ひよこ
公開されているチャートなら、すぐ本番で使える?
ペンギン先生 ペンギン先生
Artifact Hubで探せるけど、導入前に配布元、対応するKubernetesの版、権限、永続化、設定項目を確認しよう。Helmはテンプレートと値からマニフェストを作って適用する。既定値のままで本番品質が保証されるわけではないよ。
ひよこ ひよこ
以前の版に戻せば、データも元どおり?
ペンギン先生 ペンギン先生
Helmのリリースを戻すことと、DBなどのデータを復旧することは別だよ。公式のフックにもバックアップ用のJobなどを用意する例がある。チャートの版とアプリの版も別なので、変更される設定とデータの扱いを確認しよう。
もっと詳しく知りたい人へ

チャートのversionとappVersionは同じ?

versionはチャート自体の版、appVersionはアプリの版を示す参考情報。チャートの版を見ただけでは、実際に動くコンテナイメージの版は確定しない。valuesによる上書きと生成されるマニフェストも確認する。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Helm Chart」って出てきたら「Kubernetesリソースの設計図と設定値をまとめたパッケージ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Helm Chart」 = 舵取りの海図
💬 Helmは舵、Chartは海図などを表す英単語だよ。HelmではKubernetesリソースをまとめたパッケージをChartと呼ぶんだ

参考資料

← 用語集にもどる