メインコンテンツまでスキップ
バージョン: 3.22.0

用語集

チャート​

Kubernetes リソースのセットを Kubernetes クラスターにインストールするのに 十分な情報が含まれている Helm パッケージ。

チャートには、Chart.yaml ファイル、テンプレート、デフォルト値 (values.yaml)、 依存関係が含まれています。

チャートは明確に定義されたディレクトリ構造で開発され、 Chart アーカイブ と呼ばれるアーカイブ形式にパッケージ化されます。

Chart アーカイブ​

Chart アーカイブ は、tar 形式で gzip 圧縮された (オプションで署名された) チャートです。

チャートの依存関係 (サブチャート)​

チャートは他のチャートに依存する場合があります。依存関係が発生する方法は2つあります。

  • ソフトな依存関係: 別のチャートがクラスターにインストールされていないと、チャートが機能しない可能性があります。 Helm はこの場合のツールを提供していません。 この場合、依存関係は個別に管理できます。
  • ハードな依存関係: チャートには、(charts/ ディレクトリ内に) 依存する別のチャートが含まれる場合があります。 この場合、チャートをインストールすると、 その依存関係がすべてインストールされます。 この場合、チャートとその依存関係はコレクションとして管理されます。

チャートが (helm package を介して) パッケージ化されると、 そのすべてのハードな依存関係がチャートにバンドルされます。

チャートのバージョン​

チャートは、SemVer 2 仕様 に従ってバージョン管理されています。 すべてのチャートにバージョン番号が必要です。

Chart.yaml​

チャートに関する情報は、Chart.yaml と呼ばれる特別なファイルに保存されます。 すべてのチャートにこのファイルが必要です。

Helm (と helm)​

Helm は Kubernetes のパッケージマネージャーです。 オペレーティングシステムのパッケージマネージャーを使用すると、OS にツールを簡単にインストールできます。 Helm を使用すると、アプリケーションやリソースを Kubernetes クラスターに簡単にインストールできます。

Helm はプロジェクトの名前ですが、コマンドラインクライアントの名前も helm です。 慣例により、プロジェクトについて言うとき、Helm は大文字です。 クライアントの場合、helm は小文字です。

Helm 設定ファイル (XDG)​

Helm は構成ファイルを XDG ディレクトリに保存します。 これらのディレクトリは、helm が初めて実行されたときに作成されます。

Kube Config (KUBECONFIG)​

Helm クライアントは、Kube config ファイル形式のファイルを使用して、 Kubernetes クラスターについて学習します。 デフォルトでは、Helm はこのファイルを kubectl が作成した場所 ($HOME/.kube/config) で見つけようとします。

Lint (Linting)​

チャートを lint するには、それが Helm チャート標準の規則と要件に従っていることを検証します。 Helm はこれを行うためのツール、 特に helm lint コマンドを提供します。

Provenance (Provenance ファイル)​

Helm チャートには、チャートの出所とその内容に関する情報を提供する Provenance ファイル が添付されている場合があります。

Provenance ファイルは、Helm のセキュリティストーリーの一部です。 Provenance には、Chart アーカイブファイルの暗号化ハッシュ、Chart.yaml データ、 および署名ブロック (OpenPGP "clearsign" ブロック) が含まれています。 キーチェーンと組み合わせると、チャートユーザーは次のことができるようになります。

  • チャートが信頼できる当事者によって署名されたことを検証する
  • チャートのファイルが改ざんされていないことを検証する
  • チャートのメタデータ (Chart.yaml) の内容を検証する
  • チャートをその Provenance データにすばやく一致させる

Provenance ファイルには .prov 拡張子が付いており、 チャートリポジトリサーバーまたはその他の HTTP サーバーから提供できます。

リリース​

チャートがインストールされると、 Helm ライブラリはそのインストールを追跡するための リリース を作成します。

1 つのチャートを同じクラスターに何度もインストールして、さまざまなリリースを作成できます。 たとえば、helm install を異なるリリース名で 3 回実行することで、 3 つの PostgreSQL データベースをインストールできます。

リリース番号 (リリースバージョン)​

1 つのリリースを複数回更新することができます。 シーケンシャルカウンタは、リリースの変更を追跡するために使用されます。 最初に helm install を実行すると、リリース番号 は 1 になります。 リリースがアップグレードされたり、ロールバックされたりするたびに、リリース番号は増加します。

ロールバック​

リリースは、新しいチャートまたは構成にアップグレードできます。 ただし、リリース履歴が保存されているため、リリースを前のリリース番号に ロールバックする こともできます。 これは、helm rollback コマンドで行われます。

重要なのは、ロールバックされたリリースには新しいリリース番号が付与されます。

操作リリース番号
インストールリリース 1
アップグレードリリース 2
アップグレードリリース 3
ロールバック 1リリース 4 (ただし リリース 1 と同じ構成を実行している)

上の表は、インストール、アップグレード、およびロールバックで リリース番号がどのように増加するかを示しています。

Helm ライブラリ (または SDK)​

Helm ライブラリ (または SDK) は、Kubernetes API サーバーと直接対話して、 Kubernetes リソースをインストール、アップグレード、クエリ、および削除する Go コードを指します。 プロジェクトにインポートして、 CLI の代わりに Helm をクライアントライブラリとして使用できます。

リポジトリ (レポ, チャートリポジトリ)​

Helm チャートは、チャートリポジトリ (リポジトリ、または単に_レポ_) と呼ばれる 専用の HTTP サーバに保存できます。

チャートリポジトリサーバは、 チャートのバッチを記述する index.yaml ファイルを提供できるシンプルな HTTP サーバであり、 各チャートのダウンロード元に関する情報を提供します。 (多くのチャートリポジトリは、チャートと index.yaml ファイルを提供します。)

Helm クライアントは、0個以上のチャートリポジトリを指すことができます。 デフォルトでは、Helm クライアントはチャートリポジトリで構成されていません。 チャートリポジトリは、helm repo add コマンドを使用していつでも追加できます。

Values (Values ファイル, values.yaml)​

Values は、テンプレートのデフォルトを独自の情報で上書きする方法を提供します。

Helm チャートは「パラメータ化」されています。 つまり、チャートの開発者は、インストール時にオーバーライドできる構成を公開することがあります。 たとえば、チャートは、サービスのユーザー名を設定できる username フィールドを公開する場合があります。

これらの公開された変数は、Helm の用語では values と呼ばれます。

Values は、helm install および helm upgrade の操作中に直接渡すか、 または values.yaml ファイルを使用して設定できます。