13.2. Quay での Helm チャートの使用
Helm は、Cloud Native Computing Foundation (CNCF) から進展したプロジェクトとして、アプリケーションのパッケージ化およびデプロイを単純化する、Kubernetes の事実上のパッケージマネージャーです。Helm は、アプリケーションを表す Kubernetes リソースが含まれる Chart というパッケージ形式を使用します。Chart は、リポジトリーでの一般的なディストリビューションや消費用に利用できます。Helm リポジトリーは、index.yaml メタデータファイルと、オプションでパッケージ化されたチャートのセットを提供する HTTP サーバーです。Helm バージョン 3 以降、従来のリポジトリーの代わりとして OCI レジストリーでチャートを提供するためのサポートが利用できるようになりました。Quay を Helm チャートのレジストリーとして使用する方法を説明するために、Helm リポジトリーの既存チャートを使用してチャート開発者とユーザー向けに OCI レジストリーとの対話を示します。
以下の例では、以下の手順に従って、サンプルの etherpad チャートが Red Hat Community of Practice (CoP) リポジトリーからダウンロードされ、ローカルの Red Hat Quay リポジトリーにプッシュされます。
- 適切なリポジトリーを追加します。
- リポジトリーを最新のメタデータで更新します。
-
チャートをダウンロードして展開し、
etherpad
というローカルディレクトリーを作成します。
以下に例を示します。
helm repo add redhat-cop https://redhat-cop.github.io/helm-charts helm repo update helm pull redhat-cop/etherpad --version=0.0.4 --untar
$ helm repo add redhat-cop https://redhat-cop.github.io/helm-charts
$ helm repo update
$ helm pull redhat-cop/etherpad --version=0.0.4 --untar
チャートにタグ付けするには、helm chart save
コマンドを使用する必要があります。これは、イメージにタグ付けするために podman
タグを使用することに対応します。
helm chart list
コマンドを使用して、チャートのローカルインスタンスを表示します。
helm chart list REF NAME VERSION DIGEST SIZE CREATED example-registry-quay-quay-enterprise.apps.user1.example.com/helm/etherpad:0.0.4 etherpad 0.0.4 ce0233f 3.5 KiB 23 seconds
helm chart list
REF NAME VERSION DIGEST SIZE CREATED
example-registry-quay-quay-enterprise.apps.user1.example.com/helm/etherpad:0.0.4 etherpad 0.0.4 ce0233f 3.5 KiB 23 seconds
チャートをプッシュする前に、helm registry login
コマンドを使用してリポジトリーにログインします。
helm registry login example-registry-quay-quay-enterprise.apps.user1.example.com
$ helm registry login example-registry-quay-quay-enterprise.apps.user1.example.com
Username: quayadmin
Password:
Login succeeded
helm chart push
コマンドを使用してチャートをローカル Quay リポジトリーにプッシュします。
プッシュが機能することをテストするには、ローカルコピーを削除してから、チャートをリポジトリーからプルします。
helm chart export
コマンドを使用してチャートファイルを展開します。