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