Helm 3チャートをプッシュおよびプルする前に、Open Container Initiative (OCI) イメージリポジトリを作成してチャートを保存および管理する必要があります。 OCIイメージリポジトリは、ローカルファイルシステム、ネットワークサーバ、またはクラウドストレージデバイスとすることができる。 V3.7より前のHelmバージョンを使用してチャートをプッシュおよびプルする操作は、Helm cm-pushプラグインを使用してチャートをプッシュおよびプルする操作とは異なります。 このトピックでは、V3.7より前のバージョンのHelmを使用してグラフをプッシュおよびプルする方法について説明します。
手順1: Container Registry Enterprise Editionインスタンスの設定
名前空間を作成します。
Container Registryコンソールにログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
Container Registry Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
名前空間ページをクリックします。名前空間の作成.
名前空間の作成では、ダイアログボックスで、名前空間,リポジトリの自動作成、およびデフォルトのリポジトリタイプをクリックし、確認.をクリックします。
イメージリポジトリを作成します。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
リポジトリページをクリックします。リポジトリの作成.をクリックします。
[リポジトリ情報] ステップで、[名前空間] 、[リポジトリ名] 、[リポジトリの種類] 、[タグ] 、[高速化イメージ] 、[概要] 、および [説明] パラメーターを設定します。 次に、[次へ] をクリックします。
コードソースでは、ステップを設定し、コードソース,ビルド設定、およびビルドルールをクリックし、リポジトリの作成. 次の表に、主要なパラメーターを示します。
パラメーター
説明
コードソース
コードソース。
ビルド設定
コードが変更されたときにイメージを自動的にビルドする: コードがブランチからコミットされると、ビルドルールが自動的にトリガーされます。
中国本土外に配置されたサーバーを使用したビルド: イメージは中国本土外のサーバー上にビルドされ、指定されたリージョンのリポジトリにプッシュされます。 プロジェクトで使用されるDockerfileを中国本土以外のサイトからダウンロードする必要があるが、国境を越えたネットワーク接続が不安定な場合は、中国本土以外に配置されたサーバーでビルドを有効にできます。
キャッシュなしのビルド: イメージがビルドされるたびに、システムはソースコードリポジトリからベースイメージをプルします。 これは、構築期間を増加させ得る。 [キャッシュなしのビルド] を無効にすると、イメージの構築を高速化できます。
[リポジトリ] ページで、作成したイメージリポジトリをクリックします。 リポジトリ管理ページの左側のナビゲーションウィンドウに [ビルド] が表示されている場合、イメージリポジトリはソースコードリポジトリにバインドされます。
アクセス資格情報を設定します。
パスワードまたはトークンをイメージリポジトリのアクセス資格情報として設定できます。 この例では、パスワードがアクセス資格情報として設定されています。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
アクセス資格ページをクリックします。パスワードの設定.
[パスワードの設定] ダイアログボックスで、[パスワード] および [パスワードの確認] パラメーターを設定します。 [確認] をクリックします。
アクセス制御リスト (ACL) を設定します。
インターネットアクセスを有効にするか、仮想プライベートクラウド (VPC) を追加してVPCアクセスを有効にします。 これにより、チャートをイメージリポジトリにプッシュできます。 この例では、インターネットアクセスが有効になっています。 VPCアクセスを有効にする方法については、「VPC ACLの設定」をご参照ください。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
アクセス制御ページをクリックし、インターネットタブをクリックします。
インターネットタブ、オンにするインターネット経由のアクセスを有効にするをクリックし、インターネットホワイトリストの追加.
インターネットホワイトリストの追加ダイアログボックスで、イメージリポジトリへのアクセスを許可するCIDRブロックと説明を指定し、確認.
(オプション) Pull from Anonymous Usersをオンにします。
[匿名ユーザーからプル] をオンにすると、パブリックイメージリポジトリから匿名ユーザーとしてグラフをプルできます。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
インスタンス設定の右側にあるセクション概要ページ、オンにする匿名ユーザーからプル.
ヒントダイアログボックスで、確認.
ステップ2: チャートのプッシュとプル
公式サイトから必要なバージョンのHelmをダウンロードしてください。
説明クライアントのバージョンがV3であることを確認してください。
helm3 version -c
コマンドを実行して、バージョンを確認できます。 この例では、クライアントのバージョンはV3.0.2です。次のコマンドを実行して、Helm 3の実験機能を有効にします。
export HELM_EXPERIMENTAL_OCI=1
次のコマンドを実行して、Enterprise Editionインスタンスにログインします。
Alibaba Cloudアカウントを使用して、コマンドのユーザー名を置き換えます。
説明パブリックチャートリポジトリからチャートをプッシュおよびプルする場合、Container RegistryコンソールのContainer Registry Enterprise Editionインスタンスの [概要] ページで [匿名ユーザーからプル] をオンにできます。 これにより、匿名ユーザーとしてイメージリポジトリからグラフを取得できます。
helm3 registry login --username=<Registry logon name> <Name of the Enterprise Edition instance>.<Region in which the Enterprise Edition instance resides>.cr.aliyuncs.com
例:
helm3 registry login --username=123@188077086902**** m**-registry.cn-hangzhou.cr.aliyuncs.com
コマンド出力で、ログインパスワードを入力します。 ログインパスワードは、ステップ1で設定したパスワードです。
次のコマンドを実行してHelloWorldチャートを作成します。
helm3 create helloworld
チャートを押して引っ張ります。
チャートをイメージリポジトリにプッシュします。
次のコマンドを実行して、グラフディレクトリをEnterprise Editionインスタンスのイメージリポジトリのタグとして保存します。
helm3 chart save helloworld <Name of the Enterprise Edition instance>.<Region in which the Enterprise Edition instance resides>.cr.aliyuncs.com/<Namespace name>/<Name of the image repository>:<Image tag>
例:
helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
次のコマンドを実行して、タグをEnterprise Editionインスタンスのイメージリポジトリにプッシュします。
helm3 chart push <Name of the Enterprise Edition instance>.<Region in which the Enterprise Edition instance resides>.cr.aliyuncs.com/<Namespace name>/<Name of the image repository>:<Image tag>
例:
helm3 chart push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
イメージリポジトリからチャートを引き出します。
次のコマンドを実行して、Enterprise Editionインスタンスのイメージリポジトリから指定されたタグを取得します。
helm3 chart save helloworld <Name of the Enterprise Edition instance>.<Region in which the Enterprise Edition instance resides>.cr.aliyuncs.com/<Namespace name>/<Name of the image repository>:<Image tag>
例:
helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
次のコマンドを実行して、グラフタグをローカルディレクトリにエクスポートします。 次に、ローカルのグラフディレクトリを表示できます。
helm3 chart export <Name of the Enterprise Edition instance>.<Region in which the Enterprise Edition instance resides>.cr.aliyuncs.com/<Namespace name>/<Name of the image repository>:<Image tag> -d .
例:
helm3 chart export m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -d .
次のコマンドを実行して、HelloWorldチャートをインストールします。
helm install helloworld ./helloworld