Helm 3 では、OCI 準拠のレジストリを使用してチャートをプッシュおよびプルします。OCI レジストリはチャートを保存・管理でき、ローカルファイルシステム、Web サーバー、またはクラウドストレージ上にホストできます。Helm 3.7 より前のバージョンにおけるチャートのプッシュおよびプルのプロセスは、helm-push プラグインのものとは異なります。本トピックでは、これらの古いバージョンでコマンドを使用してチャートをプッシュおよびプルする方法について説明します。
ステップ 1:Enterprise Edition インスタンスの設定
名前空間を作成します。
Container Registry コンソール にログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス]ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページで、 を選択します。
[名前空間] ページで、[名前空間を作成] をクリックします。
[名前空間を作成]ペインで、名前空間名を入力し、リポジトリの自動作成を有効にするかどうかを指定してから、OKをクリックします。
イメージリポジトリを作成します。
Enterprise Edition インスタンスの管理ページで、 を選択します。
[リポジトリ]ページで、[リポジトリの作成]をクリックします。
[リポジトリ情報]ステップで、[名前空間]、[リポジトリ名]、[リポジトリのタイプ]、[イメージのバージョン]、[高速化イメージ]、[サマリー]、および[説明]を設定し、次に[次へ]をクリックします。
[コードソース]ステップで、[コードソース]、[ビルド設定]、および[ビルドルール]を設定し、次に[リポジトリの作成]をクリックします。
パラメーター
説明
コードソース
コードソースを選択します。
構築設定
コード変更時に自動でイメージを構築:ブランチにコードがコミットされると構築ルールがトリガーされます。
中国本土以外にデプロイされたサーバーで構築:中国本土以外のデータセンターで構築が実行されます。構築が成功すると、イメージは指定されたリージョンにプッシュされます。プロジェクトの Dockerfile が中国本土以外のサイトからファイルをダウンロードする必要があり、かつクロスボーダーネットワークが不安定な場合は、海外のソースをインテリジェントにビルド を使用できます。
キャッシュなしで構築:すべてのイメージ構築時にベース依存関係イメージを再度プルするよう強制します。これにより構築時間が長くなる可能性があります。キャッシュなしでビルド を無効にすることで、イメージ構築を高速化できます。
[リポジトリ] ページで、対象のイメージリポジトリをクリックします。イメージリポジトリ管理ページの左側のナビゲーションウィンドウに [ビルド] が表示される場合、そのイメージリポジトリはソースコードリポジトリにバインドされています。
アクセス認証情報を設定します。
イメージリポジトリのアクセス認証情報として、永続パスワードまたは一時パスワードを設定します。以下の手順では、永続パスワードの設定方法を説明します。
Enterprise Edition インスタンスの管理ページで、 を選択します。
[アクセス資格情報] ページで、[パスワードの設定] をクリックします。
[パスワードの設定] ダイアログボックスで、[パスワード] と [パスワードの確認] を入力し、[確認] をクリックします。
アクセスの制御を設定します。
インターネットアクセスを有効にするか、指定された VPC を追加して、プライベートネットワーク経由でのイメージアップロードを可能にします。本トピックでは、インターネット経由でのアクセス制御の設定方法について説明します。VPC のアクセス制御の設定方法については、「VPC のアクセス制御の設定」をご参照ください。
Enterprise Edition インスタンスの管理ページで、 を選択します。
アクセス制御 ページで、インターネット タブをクリックします。
[インターネット]タブで、[アクセスポータル]を有効にして、[インターネットホワイトリストの追加]をクリックします。
[インターネットホワイトリストの追加]ダイアログボックスで、許可するアドレスブロックと説明を入力し、[OK]をクリックします。
匿名プルを許可 スイッチをオンにします。(任意)
匿名プルを許可 を有効にすると、ログインせずにパブリックイメージリポジトリからイメージをプルできます。
Container Registry コンソール にログインします。
上部ナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
[概要] ページで、右側の [インスタンス設定] セクションを見つけ、[匿名プルを許可] スイッチをオンにします。
ヒント ダイアログボックスで、OK をクリックします。
ステップ 2:チャートのプッシュおよびプル
公式 Web サイトから必要な Helm クライアント をダウンロードします。
説明Helm v3 クライアントを使用していることを確認してください。
helm3 version -cコマンドを実行してクライアントバージョンを確認できます。以下のセクションでは、v3.0.2 の例を示します。次のコマンドを実行して、Helm 3 クライアントの実験的な OCI 機能を有効にします。
export HELM_EXPERIMENTAL_OCI=1次のコマンドを実行して、Enterprise Edition インスタンスにログインします。
Alibaba Cloud アカウント名をユーザー名として使用します。
説明パブリックイメージリポジトリからチャートをプッシュおよびプルする場合は、Container Registry コンソールの 概要 ページで 匿名プルを許可 を有効にしてください。その後、ログインせずにパブリックイメージリポジトリからチャートをプルできます。
helm3 registry login --username=<your_username> <instance_name>.<region>.cr.aliyuncs.com例:
helm3 registry login --username=123@188077086902**** m**-registry.cn-hangzhou.cr.aliyuncs.comプロンプトが表示されたら、設定した永続パスワードを入力します。
次のコマンドを実行して、helloworld チャートを作成します。
helm3 create helloworldチャートをプッシュおよびプルします。
チャートをイメージリポジトリにプッシュします。
次のコマンドを実行して、チャートディレクトリを Enterprise Edition インスタンスのイメージリポジトリ内の特定のタグとして保存します。
helm3 chart save helloworld <instance_name>.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<tag>例:
helm3 chart save helloworld m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest次のコマンドを実行して、指定したタグを持つチャートを Enterprise Edition インスタンスのイメージリポジトリにプッシュします。
helm3 chart push <instance_name>.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<tag>例:
helm3 chart push m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest
チャートをイメージリポジトリからプルします。
次のコマンドを実行して、指定したタグを持つチャートを Enterprise Edition インスタンスのイメージリポジトリからプルします。
helm3 chart pull <instance_name>.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<tag>例:
helm3 chart pull m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest次のコマンドを実行して、チャートをローカルディレクトリにエクスポートします。
helm3 chart export <instance_name>.<region>.cr.aliyuncs.com/<namespace>/<repository_name>:<tag> -d .例:
helm3 chart export m**-registry.cn-hangzhou.cr.aliyuncs.com/m**/test:latest -d .次のコマンドを実行して、helloworld チャートをインストールします。
helm install helloworld ./helloworld