【ヘルムチャート】

Helm Chart とは?

💡 Kubernetesの「apt-get」、アプリを丸ごとワンコマンドでインストール
📌 このページのポイント
Helm Chartの仕組み Helm Chart templates/deployment.yaml templates/service.yaml values.yaml + values-dev.yaml values-prod.yaml helm install Kubernetes Deployment Service ConfigMap Artifact Hub(公開チャートリポジトリ) PostgreSQL Redis Prometheus nginx Grafana
Helm Chartによるパッケージ管理のイメージ
ひよこ ひよこ

Helm Chartって何のために使うの?

ペンギン先生 ペンギン先生

Kubernetesにアプリをデプロイするとき、Deployment、Service、ConfigMapとかたくさんのYAMLファイルが必要だよね。Helmはそれを1つのパッケージにまとめて「helm install」一発でデプロイできるようにするんだよ

ひよこ ひよこ

テンプレート機能ってどういうこと?

ペンギン先生 ペンギン先生

たとえばレプリカ数やイメージのタグを環境ごとに変えたいとき、YAMLの中にプレースホルダーを書いて、values.yamlで値を差し替えられるんだ

ひよこ ひよこ

他の人が作ったChartも使えるの?

ペンギン先生 ペンギン先生

Artifact Hubというリポジトリに何千ものChartが公開されてるよ。PostgreSQLRedisPrometheusなどの定番ミドルウェアはhelm installするだけで本番品質の構成でデプロイできるんだ

ひよこ ひよこ

Kustomizeと比べてどっちがいいの?

ペンギン先生 ペンギン先生

Helmテンプレートエンジンで柔軟にカスタマイズでき、パッケージの配布に強い。Kustomizeテンプレートなしでパッチを当てるスタイルで、シンプルさが売り。両方組み合わせて使うチームも多いよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
Helm Chart」って出てきたら「Kubernetesアプリの設定をまとめたパッケージ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Helm Chart」 = 舵取りの海図
💬 HelmはKubernetesの操舵輪(helm)、Chartは航海図という意味。Kubernetesの航海を助けるツールという命名だよ
← 用語集にもどる