HelmはKubernetesのパッケージマネージャーです。 Helmはチャートと呼ばれるパッケージ形式を使用します。 チャートを作成または更新した後、チャートをチャートリポジトリにプッシュできます。 このようにして、他の人はチャートリポジトリからチャートをプルして使用できます。
手順1: Enterprise Editionインスタンスの設定
名前空間を作成します。
Container Registryコンソールにログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
On the名前空間ページをクリックします。名前空間の作成.
では、名前空間の作成ダイアログボックスで、名前空間,リポジトリの自動作成、およびデフォルトのリポジトリタイプをクリックし、確認.
チャートリポジトリを作成します。
説明名前空間に対して [リポジトリの自動作成] が有効になっている場合、Container Registryコンソールで事前にチャートリポジトリを作成する必要なく、Helmを使用してチャートをチャートリポジトリにプッシュできます。
Enterprise Editionインスタンスのチャートリポジトリの形式は、
<インスタンス名>-chart.<リージョンI D>.cr.aliyuncs.com/<名前空間>/<チャートリポジトリ名>
です。 チャートリポジトリのバージョンは<chart name>-<version number>
です。 仮想プライベートクラウド (VPC) 経由でチャートリポジトリにアクセスする場合、チャートリポジトリの形式は<インスタンス名>-chart-vpc.<リージョンI D>.cr.aliyuncs.com/<名前空間>/<チャートリポジトリ名>
である必要があります。On the概要Enterprise Editionインスタンスのページで、チャートで、コンポーネント設定セクションにアクセスします。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
On theリポジトリページをクリックします。リポジトリの作成.
では、Helmチャートの作成ダイアログボックスで、名前空間,リポジトリ名、およびタイプをクリックし、確認.
アクセス資格情報を設定します。
Helmグラフへのアクセスに使用するパスワードまたは一時的なトークンを設定します。 この例では、パスワードがアクセス資格情報として設定されています。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 .
On theアクセス資格ページをクリックします。パスワードの設定.
では、パスワードの設定ダイアログボックスで、パスワードとパスワードの確認をクリックし、確認.
アクセス制御ポリシーを設定します。
インターネットアクセスまたはVPCアクセスを有効にして、Helmチャートをリポジトリにプッシュできるようにします。 この例では、インターネットアクセスが有効になっています。 VPCアクセスを有効にする方法については、「VPC ACLの設定」をご参照ください。
Enterprise Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、 [アクセス制御] を選択します。
On theアクセス制御ページをクリックし、インターネットタブをクリックします。
On theインターネットタブ、オンにするインターネット経由のアクセスを有効にするをクリックし、インターネットホワイトリストの追加.
では、インターネットホワイトリストの追加ダイアログボックスで、Enterprise Editionインスタンスとノートへのアクセスを許可するCIDRブロックを指定し、確認.
(オプション) Pull from Anonymous Usersをオンにします。
[匿名ユーザーからプル] をオンにすると、ログオンせずに匿名でパブリックチャートリポジトリにアクセスできます。
Container Registryコンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理するEnterprise Editionインスタンスをクリックします。
では、インスタンス設定の右側にあるセクション概要Enterprise Editionインスタンスのページで、匿名ユーザーからプル.
では、ヒントダイアログボックスで、OK.
手順2: Helmクライアントのインストールと設定
公式サイトから必要なバージョンの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/helm
Alibaba Cloudが提供するHelmプラグインをインストールします。
説明Helmプラグインをインストールする前に、Gitがインストールされていることを確認してください。
サーバーが中国本土の外部にある場合、またはGitHubにアクセスできる場合は、次のコマンドを実行してHelmプラグインをインストールします。
helm plugin install https://github.com/AliyunContainerService/helm-acr
Helmを初期化します。
HelmがContainer Service for Kubernetes (ACK) クラスターのノードにインストールされている場合は、デフォルトでティラーが初期化されています。 クライアントを初期化するだけです。 Googleチャートに同時にアクセスしたくない場合は、次のコマンドを実行してHelmを初期化します。
helm init -- client-only -- skip-refresh
Helmが自己管理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}
チャートをプッシュします。
次のコマンドを実行してチャートをプッシュします。
# 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>
Container Registry Enterprise Editionインスタンスの左側のナビゲーションウィンドウで、[Helm Chart]> [リポジトリ] を選択します。 [リポジトリ] ページで、表示するチャートリポジトリの名前をクリックし、[バージョン] をクリックします。 [バージョン] ページで、プッシュした新しいグラフを表示できます。
次のコマンドを実行してチャートをプルします。
# 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>