Helm 3 では、チャートは OCI 準拠レジストリに対してプッシュおよびプルされます。OCI レジストリは、ローカルファイルシステム、ネットワークサーバー、クラウドストレージなどのリソース上にチャートを保存および管理します。Helm 3.7 以降では、チャートは OCI アーティファクトとして扱われます。OCI (Open Container Initiative) アーティファクトは、コンテナ関連ファイルを保存および配布するための標準フォーマットです。
ステップ 1:Container Registry Enterprise Edition インスタンスの設定
名前空間を作成します。
Container Registry コンソール にログインします。
左側のナビゲーションウィンドウで [インスタンス] をクリックします。
[インスタンス] ページで、管理対象の Enterprise Edition インスタンスをクリックします。
インスタンスの管理ページで、 を選択します。
名前空間 ページで、名前空間を作成 をクリックします。
名前空間を作成 パネルで、名前空間 名を入力し、リポジトリの自動作成 を有効にするかどうかを指定して、OK をクリックします。
イメージリポジトリを作成します。
インスタンスの管理ページで、 を選択します。
リポジトリ ページで、リポジトリの作成 をクリックします。
リポジトリ情報 ウィザードで、名前空間、リポジトリ名、リポジトリのタイプ、イメージのバージョン、高速化イメージ、サマリー、および 説明 を設定して、次へ をクリックします。
コードソース ウィザードで、コードソース、ビルド設定、および ビルドルール を設定して、リポジトリの作成 をクリックします。
パラメーター
説明
コードソース
コードソースを選択します。
ビルド設定
コード変更時に自動的にイメージをビルド:ブランチにコードがコミットされた際に、自動的にイメージビルドをトリガーします。
中国本土以外のサーバーでビルド:中国本土以外に配置されたサーバー上でイメージをビルドし、ビルド済みイメージを指定されたリージョンにプッシュします。プロジェクト内の Dockerfile が中国本土以外のサイトからファイルをダウンロードする必要があり、クロスボーダーネットワークが不安定な場合は、海外のソースをインテリジェントにビルド を有効にしてください。
キャッシュを使用せずにビルド:すべてのビルドでベース依存関係イメージを強制的に最新状態にプルします。これによりビルド時間が長くなる可能性があります。キャッシュなしでビルド をオフにすることで、イメージビルドを高速化できます。
リポジトリ ページで、目的のイメージリポジトリをクリックします。左側のナビゲーションウィンドウに ビルド が表示されている場合、イメージリポジトリはソースコードリポジトリに正常にバインドされています。
アクセス認証情報を設定します。
固定パスワードまたは一時パスワードをアクセス認証情報として設定します。以下の手順では、固定パスワードの設定方法を説明します。
インスタンスの管理ページで、 を選択します。
[アクセス資格情報] ページで、[パスワードの設定] をクリックします。
パスワードの設定 ダイアログボックスで、パスワード および パスワードの確認 フィールドにパスワードを入力し、OK をクリックします。
アクセス制御ポリシーを設定します。
インターネットアクセスを有効にするか、特定の VPC を追加して VPC 経由でのアクセスを有効にし、イメージをアップロードできるようにします。本トピックでは、インターネットアクセス制御の設定例を紹介します。VPC アクセス制御の設定方法の詳細については、「VPC アクセス制御の設定」をご参照ください。
インスタンスの管理ページで、 を選択します。
アクセス制御 ページで、インターネット タブをクリックします。
インターネット タブで、アクセスポータル をオンにし、インターネットホワイトリストの追加 をクリックします。
インターネットホワイトリストの追加 ダイアログボックスで、許可する CIDR ブロックと説明を入力して、OK をクリックします。
匿名プルを許可 スイッチをオンにします。(任意)
匿名プルを許可 スイッチを有効にすると、ログインせずにパブリックイメージリポジトリからイメージをプルできます。
Container Registry コンソール にログインします。
上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションウィンドウで [インスタンス] をクリックします。
[インスタンス] ページで、管理対象の Enterprise Edition インスタンスをクリックします。
概要 ページの インスタンス設定 セクションで、匿名プルを許可 スイッチをオンにします。
ヒント ダイアログボックスで、OK をクリックします。
ステップ 2:チャートのプッシュおよびプル
次のコマンドを実行して、Helm 3.7 以降のクライアントで実験的な OCI 機能を有効にします。
export HELM_EXPERIMENTAL_OCI=1次のコマンドを実行して、Container Registry Enterprise Edition インスタンスにログインします。
Alibaba Cloud アカウント名をユーザー名として使用します。
説明パブリックチャートリポジトリからチャートをプッシュおよびプルする場合は、Container Registry コンソールの 匿名プルを許可 ページで 概要 スイッチを有効にしてください。その後、ログインせずにパブリックチャートリポジトリからチャートをプルできます。
helm3 registry login -u <registry-logon-name> <instance-name>-registry.cn-<region>.cr.aliyuncs.com例:
helm3 registry login -u acr_test_***@test.aliyunid.com ***-registry.cn-hangzhou.cr.aliyuncs.comプロンプトが表示されたら、設定した固定パスワードを入力します。
次のコマンドを実行して、helloworld チャートを作成します。
helm3 create helloworld次のコマンドを実行して、チャートディレクトリを gzipped tar アーカイブにパッケージ化します。
tar -zcvf test.tgz helloworldチャートをプッシュおよびプルします。
チャートパッケージをイメージリポジトリにプッシュします。
イメージリポジトリからチャートパッケージをプルします。
次のコマンドを実行して、イメージリポジトリからチャートパッケージをプルします。
次のコマンドを実行して、チャートパッケージを解凍します。
次のコマンドを実行して、チャートをインストールします。
helm3 install helloworld ./helloworld
説明プル URI にはリポジトリへのパスを指定する必要があります。
helm3 pull oci://<instance-name>-registry.cn-<region>.cr.aliyuncs.com/<namespace-name>/<repository-name> --version <image-tag>例:
helm3 pull oci://***-registry.cn-hangzhou.cr.aliyuncs.com/test/trem --version helloworldtar -xzvf helloworld-[image-tag].tgz
プッシュ URI には名前空間へのパスを指定する必要があります。リポジトリ名はチャートパッケージから導出されます。
helm3 push test.tgz oci://<instance-name>-registry.cn-<region>.cr.aliyuncs.com/<namespace>例:
helm3 push test.tgz oci://***-registry.cn-hangzhou.cr.aliyuncs.com/test