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

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

最終更新日:Aug 13, 2025

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

ステップ 1:Enterprise Edition インスタンスを構成する

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

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

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

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

    4. Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、[Helm Chart] > [名前空間] を選択します。

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

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

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

    説明

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

    Enterprise Edition インスタンスのチャートリポジトリは、<Instance name>-chart.<Region ID>.cr.aliyuncs.com/<Namespace>/<Chart repository name> の形式です。 チャートリポジトリのバージョンは、<Chart name>-<Version number> です。 VPC 経由でチャートリポジトリにアクセスする場合、チャートリポジトリは <Instance name>-chart-vpc.<Region ID>.cr.aliyuncs.com/<Namespace>/<Chart repository name> の形式である必要があります。

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

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

    3. [リポジトリ] ページで、[リポジトリの作成] をクリックします。

    4. [Helm Chart の作成] ダイアログボックスで、[名前空間][リポジトリ名]、および [タイプ] パラメーターを構成し、[確認] をクリックします。

  3. アクセス認証情報を構成します。

    Helm チャートへのアクセスに使用するパスワードまたは一時トークンを設定します。 この例では、パスワードがアクセス認証情報として構成されています。

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

    2. [アクセス認証情報] ページで、[パスワードの設定] をクリックします。

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

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

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

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

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

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

    4. [インターネットホワイトリストの追加] ダイアログボックスで、Enterprise Edition インスタンスにアクセスできる CIDR ブロックとメモを指定し、[確認] をクリックします。

  5. (オプション) [匿名ユーザーからのプル] をオンにします。

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

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

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

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

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

    5. Enterprise Edition インスタンスの [概要] ページの右側にある [インスタンス設定] セクションで、[匿名ユーザーからのプル] をオンにします。

    6. [ヒント] ダイアログボックスで、[OK] をクリックします。

ステップ 2:Helm クライアントをインストールおよび構成する

  1. 公式 Web サイトから必要なバージョンの 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)クラスタのノードにインストールされている場合、tiller はデフォルトで初期化されています。 クライアントを初期化するだけで済みます。 同時に 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. 次のコマンドを実行して、チャートをプッシュします。

      # オンプレミスチャートを作成します。
      helm create <Chart name>
      
      # チャートディレクトリをプッシュします。
      helm push <Chart name> <Name of the on-premises repository>
      
      # 圧縮されたチャートパッケージをプッシュします。
      helm cm-push <Chart name>-<Chart version>.tgz <Name of the on-premises repository>            

      推送chart

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

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

    # Container Registry のチャートリポジトリからオンプレミスチャートインデックスを更新します。
    helm repo update
    
    # チャートをプルします。
    helm fetch <Name of the on-premises repository>/<Chart name> --version <Chart version>
    
    # チャートを直接インストールします。
    helm install -f values.yaml <Name of the on-premises repository>/<Chart name> --version <Chart version>