Helm は Kubernetes のパッケージマネージャです。 Helm は、チャートと呼ばれるパッケージ形式を使用します。 チャートを作成または更新した後、チャートをチャートリポジトリにプッシュできます。 この方法で、他のユーザーはチャートリポジトリからチャートをプルして使用できます。
ステップ 1:Enterprise Edition インスタンスを構成する
名前空間を作成します。
Container Registry コンソール にログオンします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[名前空間] ページで、[名前空間の作成] をクリックします。
[名前空間の作成] ダイアログボックスで、[名前空間]、[リポジトリの自動作成]、および [自動作成リポジトリのデフォルト設定] を構成し、[確認] をクリックします。
チャートリポジトリを作成します。
説明名前空間で [リポジトリの自動作成] が有効になっている場合、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>の形式である必要があります。Enterprise Edition インスタンスの [概要] ページで、[コンポーネント設定] セクションの [チャート] をオンにします。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[リポジトリ] ページで、[リポジトリの作成] をクリックします。
[Helm Chart の作成] ダイアログボックスで、[名前空間]、[リポジトリ名]、および [タイプ] パラメーターを構成し、[確認] をクリックします。
アクセス認証情報を構成します。
Helm チャートへのアクセスに使用するパスワードまたは一時トークンを設定します。 この例では、パスワードがアクセス認証情報として構成されています。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、 を選択します。
[アクセス認証情報] ページで、[パスワードの設定] をクリックします。
[パスワードの設定] ダイアログボックスで、[パスワード] および [パスワードの確認] パラメーターを構成し、[確認] をクリックします。
アクセス制御ポリシーを構成します。
Helm チャートをリポジトリにプッシュできるように、インターネットアクセスまたは VPC アクセスを有効にします。 この例では、インターネットアクセスが有効になっています。 VPC アクセスを有効にする方法については、「VPC ACL を構成する」をご参照ください。
Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、[アクセス制御] を選択します。
[アクセス制御] ページで、[インターネット] タブをクリックします。
[インターネット] タブで、[インターネット経由のアクセスを有効にする] をオンにし、[インターネットホワイトリストの追加] をクリックします。
[インターネットホワイトリストの追加] ダイアログボックスで、Enterprise Edition インスタンスにアクセスできる CIDR ブロックとメモを指定し、[確認] をクリックします。
(オプション) [匿名ユーザーからのプル] をオンにします。
[匿名ユーザーからのプル] をオンにすると、ログオンせずにパブリックチャートリポジトリに匿名でアクセスできます。
Container Registry コンソール にログオンします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
Enterprise Edition インスタンスの [概要] ページの右側にある [インスタンス設定] セクションで、[匿名ユーザーからのプル] をオンにします。
[ヒント] ダイアログボックスで、[OK] をクリックします。
ステップ 2:Helm クライアントをインストールおよび構成する
公式 Web サイトから必要なバージョンの Helm をダウンロードします。
説明クライアントのバージョンが V2.X であることを確認してください。
helm version -cコマンドを実行してバージョンを確認できます。 この例では、クライアントのバージョンは V2.14.2 です。次のコマンドを実行して、Helm のインストールパッケージを解凍し、抽出されたファイルを指定されたディレクトリに保存します。
# インストールパッケージを解凍します。 tar -zxvf helm-v2.14.2-linux-amd64.tgz # 抽出されたファイルを指定されたディレクトリに保存します。 mv linux-amd64/helm /usr/local/bin/helmAlibaba Cloud が提供する Helm プラグインをインストールします。
説明Helm プラグインをインストールする前に、Git がインストールされていることを確認してください。
サーバーが中国本土以外にある場合、または GitHub にアクセスできる場合は、次のコマンドを実行して Helm プラグインをインストールします。
helm plugin install https://github.com/AliyunContainerService/helm-acrHelm を初期化します。
Helm が Container Service for Kubernetes(ACK)クラスタのノードにインストールされている場合、tiller はデフォルトで初期化されています。 クライアントを初期化するだけで済みます。 同時に Google チャートにアクセスしたくない場合は、次のコマンドを実行して Helm を初期化します。
helm init --client-only --skip-refreshHelm がセルフマネージド Kubernetes クラスタのノードにインストールされていて、Google チャートにアクセスしたくない場合は、次のコマンドを実行します。
helm init --skip-refresh
ステップ 3:チャートをプッシュおよびプルする
次のコマンドを実行して、オンプレミスリポジトリマッピングを構成します。
オンプレミスリポジトリを指定し、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}
チャートをプッシュします。
次のコマンドを実行して、チャートをプッシュします。
# オンプレミスチャートを作成します。 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>
Container Registry Enterprise Edition インスタンスの左側のナビゲーションウィンドウで、[ Helm Chart ] > [ リポジトリ ] を選択します。 [リポジトリ] ページで、表示するチャートリポジトリの名前をクリックし、[バージョン] をクリックします。 [バージョン] ページで、プッシュした新しいチャートを表示できます。
次のコマンドを実行して、チャートをプルします。
# 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>