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

Container Registry:Helm 2を使用してチャートをプッシュおよびプルする

最終更新日:Jun 27, 2024

HelmはKubernetesのパッケージマネージャーです。 Helmはチャートと呼ばれるパッケージ形式を使用します。 チャートを作成または更新した後、チャートをチャートリポジトリにプッシュできます。 このようにして、他の人はチャートリポジトリからチャートをプルして使用できます。

手順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をダウンロードしてください。

    説明

    クライアントのバージョンがV2.Xであることを確認してください。 helm version -cコマンドを実行して、バージョンを確認できます。 この例では、クライアントのバージョンはV2.14.2です。

  2. 次のコマンドを実行してHelmのインストールパッケージを解凍し、抽出したファイルを指定したディレクトリに保存します。

    # インストールパッケージを解凍します。 
    tar -zxvf helm-v2.14.2-linux-amd64.tgz
    # 抽出したファイルを指定したディレクトリに格納します。 
    mv linux-amd64/helm /usr/local/bin/helm 
  3. Alibaba Cloudが提供するHelmプラグインをインストールします。

    説明

    Helmプラグインをインストールする前に、Gitがインストールされていることを確認してください。

    サーバーが中国本土の外部にある場合、またはGitHubにアクセスできる場合は、次のコマンドを実行してHelmプラグインをインストールします。

    helm plugin install https://github.com/AliyunContainerService/helm-acr
  4. Helmを初期化します。

    • HelmがContainer Service for Kubernetes (ACK) クラスターのノードにインストールされている場合は、デフォルトでティラーが初期化されています。 クライアントを初期化するだけです。 Googleチャートに同時にアクセスしたくない場合は、次のコマンドを実行してHelmを初期化します。

      helm init -- client-only -- skip-refresh
    • Helmが自己管理Kubernetesクラスターのノードにインストールされていて、Googleチャートにアクセスしたくない場合は、次のコマンドを実行します。

      helm init -- skip-refresh

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

  1. 次のコマンドを実行して、オンプレミスリポジトリマッピングを設定します。

    オンプレミスのリポジトリを指定し、Container Registryの名前空間のチャートリポジトリにマップする必要があります。

    export HELM_REPO_USERNAME='<Account in the access credential of the Enterprise Edition instance>';
    export HELM_REPO_PASSWORD='<Password in the access credential of the Enterprise Edition instance>';
    helm repo add <Name of the on-premises repository> acr://<Instance name>-chart.<Region ID>.cr.aliyuncs.com/<Namespace>/<Chart repository> --username ${HELM_REPO_USERNAME} --password ${HELM_REPO_PASSWORD}            

    配置本地仓库映射

  2. チャートをプッシュします。

    1. 次のコマンドを実行してチャートをプッシュします。

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

      推送chart

    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>