すべてのプロダクト
Search
ドキュメントセンター

Container Registry:Helm 3.7以降のバージョンを使用してチャートをプッシュおよびプルする

最終更新日:Jun 26, 2024

Helm 3を使用してチャートをプッシュおよびプルする前に、Open Container Initiative (OCI) イメージリポジトリを作成してチャートを保存および管理する必要があります。 OCIイメージリポジトリは、ローカルファイルシステム、ネットワークサーバー、またはクラウドストレージサービスです。 Helm 3.7以降のバージョンでは、OCIアーティファクトを使用してチャートをプッシュおよびプルできます。 OCIアーティファクトは、コンテナ関連ファイルの格納と送信に使用される標準形式です。

手順1: Container Registry Enterprise Editionインスタンスの設定

  1. 名前空間を作成します。

    1. Container Registryコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

    3. [インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。

    4. Container Registry Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、リポジトリ > 名前空間.

    5. 名前空間ページをクリックします。名前空間の作成. をクリックします。

    6. 名前空間の作成ダイアログボックスでは、名前空間,、リポジトリの自動作成、およびデフォルトのリポジトリタイプをクリックし、確認. をクリックします。

  2. イメージリポジトリを作成します。

    1. Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、リポジトリ > リポジトリを選択します。

    2. リポジトリページをクリックします。リポジトリの作成.をクリックします。

    3. [リポジトリ情報] ステップで、[名前空間][リポジトリ名][リポジトリの種類][タグ][高速化イメージ][概要] 、および [説明] を設定します。 次に、[次へ] をクリックします。

    4. では、コードソースステップ、構成コードソース,ビルド設定、およびビルドルールをクリックし、リポジトリの作成.をクリックします。

      パラメーター

      説明

      コードソース

      コードソース。

      ビルド設定

      • コードが変更されたときにイメージを自動的にビルドする: コードがブランチからコミットされると、ビルドルールが自動的にトリガーされます。

      • 中国本土外に配置されたサーバーを使用したビルド: イメージは中国本土外のサーバー上にビルドされ、指定されたリージョンのリポジトリにプッシュされます。 プロジェクトで使用されるDockerfileを中国本土以外のサイトからダウンロードする必要があるが、国境を越えたネットワーク接続が不安定な場合は、中国本土以外に配置されたサーバーでビルドを有効にできます。

      • キャッシュなしのビルド: イメージがビルドされるたびに、システムはソースコードリポジトリからベースイメージをプルします。 これは、構築期間を増加させ得る。 [キャッシュなしのビルド] を無効にすると、イメージの構築を高速化できます。

      [リポジトリ] ページで、作成したイメージリポジトリをクリックします。 リポジトリ管理ページの左側のナビゲーションウィンドウに [ビルド] が表示されている場合、イメージリポジトリはソースコードリポジトリにバインドされます。

  3. アクセス資格情報を設定します。

    イメージリポジトリのアクセス資格情報として、パスワードまたは一時的なトークンを設定できます。 この例では、パスワードがアクセス資格情報として設定されています。

    1. Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、インスタンス > アクセス資格.を選択します。

    2. アクセス資格ページをクリックします。パスワードの設定.をクリックします。

    3. [パスワードの設定] ダイアログボックスで、[パスワード] および [パスワードの確認] パラメーターを設定します。 [確認] をクリックします。

  4. コンソールアクセスポリシーを設定します。

    インターネットアクセスを有効にするか、仮想プライベートクラウド (VPC) を追加してVPCアクセスを有効にします。 これにより、チャートをイメージリポジトリにプッシュできます。 この例では、インターネットアクセスが有効になっています。 VPC経由のアクセスを有効にする方法の詳細については、「VPC ACLの設定」をご参照ください。

    1. Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、リポジトリ > アクセス制御.

    2. アクセス制御ページをクリックし、インターネットタブをクリックします。

    3. インターネットタブ、オンにするアクセスポータルをクリックし、インターネットホワイトリストの追加をクリックします。.

    4. インターネットホワイトリストの追加ダイアログボックスでは、Enterprise Editionインスタンスへのアクセスを許可するCIDRブロックと説明を指定し、確認.をクリックします。

  5. (オプション) Pull from Anonymous Usersをオンにします。

    [匿名ユーザーからプル] をオンにすると、パブリックイメージリポジトリから匿名ユーザーとしてグラフをプルできます。

    1. Container Registryコンソールにログインします。

    2. 上部のナビゲーションバーで、リージョンを選択します。

    3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

    4. [インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。

    5. インスタンス設定では、の右側にあるセクション概要ページ、オンにする匿名ユーザーからプル.

    6. ヒントでは、ダイアログボックスで、確認.をクリックします。

ステップ2: プッシュとプルチャート

  1. 次のコマンドを実行して、Helm 3.7以降のバージョンの実験機能を有効にします。

    export HELM_EXPERIMENTAL_OCI=1
  2. 次のコマンドを実行して、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で設定したパスワードです。

  3. 次のコマンドを実行してHelloWorldチャートを作成します。

    helm3 helloworld作成
  4. 次のコマンドを実行して、グラフディレクトリから圧縮パッケージを作成します。

    tar -zcvf test.tgz helloworld
  5. チャートのプッシュとプル。

    • チャートパッケージをリポジトリにプッシュします。

    • 説明

      リポジトリの名前空間でチャートパッケージのパスを終了する必要があります。

      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
    • リポジトリからチャートパッケージを引き出します。

      1. 次のコマンドを実行して、リポジトリからチャートパッケージを取得します。

      2. 説明

        チャートが取得されるリポジトリのパスを、リポジトリの名前で結論付ける必要があります。

        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
      3. 次のコマンドを実行して、チャートパッケージを解凍します。

      4. tar -xzvf helloworld-[Image tag].tgz
      5. 次のコマンドを実行して、HelloWorldチャートをインストールします。

         helm install helloworld ./helloworld