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 ブロックと説明を指定し、[確認] をクリックします。
(オプション)[匿名ユーザーからのプル] をオンにします。
[匿名ユーザーからのプル] をオンにすると、匿名ユーザーとしてパブリックイメージリポジトリからチャートをプルできます。
Container Registry コンソール にログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
[概要] ページの右側にある [インスタンス設定] セクションで、[匿名ユーザーからのプル] をオンにします。
[ヒント] ダイアログボックスで、[確認] をクリックします。
ステップ 2:チャートをプッシュおよびプルする
次のコマンドを実行して、Helm 3.7 以降のバージョンの実験的機能を有効にします。
export HELM_EXPERIMENTAL_OCI=1次のコマンドを実行して、Enterprise Edition インスタンスにログインします。
<レジストリ ログイン名> を 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 create 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 helloworldtar -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