13.2. Red Hat Quay を使用した Helm チャート
Helm は、Cloud Native Computing Foundation (CNCF) から進展したプロジェクトとして、アプリケーションのパッケージ化およびデプロイを単純化する、Kubernetes の事実上のパッケージマネージャーです。Helm は、アプリケーションを表す Kubernetes リソースが含まれる Chart というパッケージ形式を使用します。Chart は、リポジトリーでの一般的なディストリビューションや消費用に利用できます。Helm リポジトリーは、index.yaml
メタデータファイルと、オプションでパッケージ化されたチャートのセットを提供する HTTP サーバーです。Helm バージョン 3 以降、従来のリポジトリーの代わりとして OCI レジストリーでチャートを提供するためのサポートが利用できるようになりました。
13.2.1. Red Hat Quay での Helm チャートの使用
以下の例を使用して、Red Hat Community of Practice (CoP) リポジトリーから 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 package ./etherpad
出力例
Successfully packaged chart and saved it to: /home/user/linux-amd64/etherpad-0.0.4.tgz
helm registry login
を使用して Quay リポジトリーにログインします。$ helm registry login quay370.apps.quayperf370.perfscale.devcluster.openshift.com
helm push
コマンドを使用して、グラフを Quay リポジトリーにプッシュします。$ helm push etherpad-0.0.4.tgz oci://quay370.apps.quayperf370.perfscale.devcluster.openshift.com
出力例:
Pushed: quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad:0.0.4 Digest: sha256:a6667ff2a0e2bd7aa4813db9ac854b5124ff1c458d170b70c2d2375325f2451b
ローカルコピーを削除してから、リポジトリーからチャートをプルして、プッシュが機能したことを確認します。
$ rm -rf etherpad-0.0.4.tgz
$ helm pull oci://quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad --version 0.0.4
出力例:
Pulled: quay370.apps.quayperf370.perfscale.devcluster.openshift.com/etherpad:0.0.4 Digest: sha256:4f627399685880daf30cf77b6026dc129034d68c7676c7e07020b70cf7130902