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

Container Registry:Helm cm-pushプラグインを使用してチャートをプッシュおよびプルする

最終更新日:Nov 01, 2024

Helm cm-pushプラグインを使用すると、チャートをプッシュおよびプルできます。 Helmはチャートと呼ばれるパッケージ形式を使用します。 チャートは、関連するKubernetesリソースのセットを記述するファイルのコレクションです。 Helm cm-pushプラグインを使用してチャートをリモートチャートリポジトリにプッシュする前に、helm plugin installコマンドを実行して、オンプレミスデバイスにHelm cm-pushプラグインをインストールする必要があります。 次に、helm pushコマンドを実行してチャートをプッシュできます。

重要

Helm cm-pushプラグインを使用してHTTP経由でチャートをプッシュおよびプルする場合は、チケットを起票し、チャートリポジトリのローカルIPアドレスをホワイトリストに追加します。

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

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

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

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

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

    4. Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、ヘルムチャート > 名前空間.

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

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

  2. チャートリポジトリを作成します。

    説明

    名前空間に対して [リポジトリの自動作成] が有効になっている場合、Container Registryコンソールで事前にチャートリポジトリを作成する必要なく、Helmを使用してチャートをチャートリポジトリにプッシュできます。

    Enterprise Editionインスタンスのチャートリポジトリの形式は、<インスタンス名>-chart.<リージョンI D>.cr.aliyuncs.com/<名前空間>/<チャートリポジトリ名> です。 チャートリポジトリのバージョンは <chart name>-<version number> です。 仮想プライベートクラウド (VPC) 経由でチャートリポジトリにアクセスする場合、チャートリポジトリの形式は <インスタンス名>-chart-vpc.<リージョンI D>.cr.aliyuncs.com/<名前空間>/<チャートリポジトリ名> である必要があります。

    1. On the概要Enterprise Editionインスタンスのページで、チャートで、コンポーネント設定セクションにアクセスします。

    2. Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、ヘルムチャート > リポジトリ.

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

    4. では、Helmチャートの作成ダイアログボックスで、名前空間,リポジトリ名、およびタイプをクリックし、確認.

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

    Helmグラフへのアクセスに使用するパスワードまたは一時的なトークンを設定します。 この例では、パスワードがアクセス資格情報として設定されています。

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

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

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

  4. アクセス制御ポリシーを設定します。

    インターネットアクセスまたはVPCアクセスを有効にして、Helmチャートをリポジトリにプッシュできるようにします。 この例では、インターネットアクセスが有効になっています。 VPCアクセスを有効にする方法については、「VPC ACLの設定」をご参照ください。

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

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

    3. On theインターネットタブ、オンにするインターネット経由のアクセスを有効にするをクリックし、インターネットホワイトリストの追加.

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

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

    [匿名ユーザーからプル] をオンにすると、ログオンせずに匿名でパブリックチャートリポジトリにアクセスできます。

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

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

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

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

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

    6. では、ヒントダイアログボックスで、OK.

手順2: Helmクライアントのインストールと設定

  1. ダウンロードHelm.

    説明

    Helm 3.7以降のクライアントを使用して、チャートをプッシュおよびプルできます。 helm version -cコマンドを実行して、helmクライアントのバージョンを表示できます。 この例では、Helm 3.10.0をダウンロードしてチャートをプッシュおよびプルします。

  2. 次のコマンドを実行してHelmインストールパッケージを解凍し、Helmインストールパッケージを指定されたディレクトリに配置します。

    # Decompress the installation package. 
    tar -zxvf helm-v3.10.0-rc.1-linux-amd64.tar.gz
    # Move the extracted files to the specified directory. 
    mv linux-amd64/helm /usr/local/bin/helm    
  3. 次のコマンドを実行して、Helm cm-pushプラグインをインストールします。

    説明

    Helm cm-pushプラグインをインストールする前に、yum install gitコマンドを実行してGitをインストールします。

    helm plugin install https://github.com/AliyunContainerService/helm-acr

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

  1. 次のコマンドを実行して、オンプレミスのリポジトリの名前を指定し、リポジトリ名をContainer Registryの名前空間内のチャートリポジトリにマップします。

    helm repo add <Name of the on-premises repository> https://test9-7-chart****.cn-hangzhou.cr.aliyuncs.com/ns1/repo1 --username <username> --password <password>
  2. 次のコマンドを実行してチャートをプッシュします。

    # Create an on-premises chart. 
    helm create <Chart name>
     
    # Push the chart directory. 
    helm cm-push <Chart name> <Name of the on-premises repository>

    Container Registry Enterprise Editionインスタンスの左側のナビゲーションウィンドウで、[Helm Chart]> [リポジトリ] を選択します。 [リポジトリ] ページで、表示するチャートリポジトリの名前をクリックし、[バージョン] をクリックします。 [バージョン] ページで、プッシュした新しいグラフを表示できます。

  3. 次のコマンドを実行して、チャートをインストールしてプルします。

    # Update the on-premises chart index from the chart repository in Container Registry. 
    helm repo update
     
    # Pull a chart. 
    helm fetch <Name of the on-premises repository>/<Chart name> --version <Chart version>
    # Directly install a chart.
    helm install -f values.yaml <Name of the on-premises repository>/<Chart name> --version <Chart version>