Helmについて

Helmは、Kubernetesのパッケージ・マネージャです。これは、Cloud Native Computing Foundation (CNCF)によるオープン・ソース・プロジェクトです。

Kubernetesは、拡張可能なオブジェクト・モデルを介してアプリケーションをデプロイするためのリッチ・インタフェースを提供します。通常、オブジェクトを記述するマニフェストYAMLファイルを記述してから、kubectlコマンドを使用してYAMLファイルをKubernetesにフィードします。Kubernetesは、それに合わせてKubernetesクラスタを構成します。組込みオブジェクト・タイプには、ポッド、サービス、永続ボリュームなどが含まれます。TimesTenオペレータは、TimesTenClassicおよびTimesTenScaleoutタイプのオブジェクトを追加して、Kubernetesオブジェクト・タイプ・システムを拡張します。

Helmは、このアーキテクチャ上のオプションのレイヤーです。Helmは、YAMLファイルを手動で作成し、kubectlを使用してファイルを適用するのではなく、アプリケーション開発者が一連のYAMLファイルをチャートと呼ばれる単一のエンティティにパッケージ化できるようにします。このようなチャートは、単一のコマンドを使用してKubernetesクラスタにインストールできます。

チャートで提供されるYAMLファイルはテンプレートです。チャートをインストールするときに、置換する一連の値をチャートに指定できます。Helmは、チャート内のYAMLを処理し、ユーザーが指定した値を置換して、kubectlコマンドを使用して最終バージョンをKubernetesに送信します。

Helmは、アプリケーションを管理するための高度な機能も提供します。
  • チャートは他のチャートに依存する可能性があります。Helmは、依存関係の維持に役立ちます。Helmは、アプリケーションとその依存関係を1つの単位としてインストールできます。

  • Kubernetesクラスタにインストールされているチャートをリストし、名前で参照できます。

  • helm testコマンドを使用して、アプリケーションの機能を確認できます。

  • インストールしたアプリケーションをアップグレードするには、アプリケーションをインストールした新しいバージョンのチャートを適用します。

  • チャートは名前で削除できます。

Helmの詳細は、https://helm.sh/docs/を参照してください。