Skip to content
Latchkey

Helm とは?Kubernetes のパッケージマネージャ

Helm は Kubernetes のパッケージマネージャです - apt や npm がパッケージを管理するように、chart としてパッケージ化されたアプリケーションをインストール、アップグレード、rollback します。

Helm は Kubernetes にとって、apt が Debian にとってのものです。パッケージ化されたアプリケーションをインストール・管理するツールです。パッケージは chart で、Helm は chart をあなたの values でレンダリングし、その結果をクラスタに apply し、単位としてアップグレードや rollback できるバージョン管理された release として追跡します。

Helm と Helm chart の違い

Helm はツール(helm CLI とそのロジック)で、chart はそれが操作するパッケージです。人はどちらも大まかに「Helm」と呼びますが、区別は重要です。あなたは chart をインストールするために Helm を実行します。

release と lifecycle

chart をインストールすると、名前付きの release が作られます。Helm は各リビジョンを記録するため、helm upgradehelm rollbackhelm history が、manifest 単位ではなくアプリ全体に対する完全な lifecycle 制御を一度に与えます。

values でのテンプレート化

Helm は chart のテンプレートを values ファイルでレンダリングし、具体的な manifest を生成します。同じ chart が異なる values を供給することで多数の環境に対応します - 環境間できれいに昇格するための鍵です。

Helm リポジトリ

  • chart は chart repository(および OCI registry)を通じて共有される。
  • helm repo addhelm pull が公開された chart を取得する。
  • 多くの一般的なアプリ(データベース、ingress、monitoring)向けの公開 chart が存在する。

CI/CD における Helm

CD pipeline は一般に、新しいイメージ tag で helm upgrade --install を実行するか、GitOps controller が apply するために chart の変更を commit します。いずれにせよ Helm は deploy を、バージョン管理され rollback 可能な1つの単位にパッケージ化します。

重要なポイント

  • Helm はパッケージマネージャで、chart はそれがインストールするパッケージです。
  • release は、アプリ全体のバージョン管理されたインストール、アップグレード、rollback を提供します。
  • 1つの chart が、異なる values ファイルを通じて多数の環境に対応します。

関連ガイド