Helm は、アプリケーションのパッケージ化、管理、デプロイに使用される Kubernetes のパッケージマネージャです。チャートを作成または更新した後、Helm リポジトリにプッシュして他のユーザーが使用できるようにすることができます。
ステップ 1:Enterprise Edition インスタンスの設定
-
名前空間を作成します。
Container Registry コンソールにログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
Enterprise Edition インスタンスの管理ページで、左側のナビゲーションウィンドウから を選択します。
-
名前空間 ページで、名前空間を作成 をクリックします。
-
名前空間を作成 ダイアログボックスで、名前空間 名を入力し、リポジトリの自動作成 と リポジトリの自動作成のためのデフォルト設定 を指定して、OK をクリックします。
-
チャートリポジトリを作成します。
説明名前空間で リポジトリの自動作成 を有効にした場合、コンソールでチャートリポジトリを作成する手順をスキップし、クライアントから直接チャートをプッシュできます。
Enterprise Edition インスタンスでは、チャートリポジトリのアドレスは
<instance-name>-chart.<region-id>.cr.aliyuncs.com/<namespace>/<repository-name>というフォーマットを使用します。チャートのバージョンは<chart-name>-<version-number>というフォーマットを使用します。VPC 経由でリポジトリにアクセスする場合、アドレスのフォーマットは<instance-name>-chart-vpc.<region-id>.cr.aliyuncs.com/<namespace>/<repository-name>です。-
Enterprise Edition インスタンスの 概要 ページの コンポーネントの設定 セクションで、[チャート] スイッチをオンにします。
-
Enterprise Edition インスタンスの管理ページで、左側のナビゲーションウィンドウから を選択します。
-
[チャートリポジトリ] ページで、[チャートリポジトリの作成] をクリックします。
-
[Helm チャートの作成] ダイアログボックスで、名前空間 を選択し、[チャートリポジトリ名] と タイプ を設定して、OK をクリックします。
-
-
アクセス認証情報を設定します。
Helm チャートのアクセス認証情報として、固定パスワードまたは一時トークンを使用できます。この例では、固定パスワードを使用します。
-
Enterprise Edition インスタンスの管理ページで、左側のナビゲーションウィンドウからを選択します。
-
アクセス資格情報 ページで、パスワードの設定 をクリックします。
-
パスワードの設定 ダイアログボックスで、パスワード と パスワードの確認 を入力し、OK をクリックします。
-
-
アクセス制御ポリシーを設定します。
Helm チャートをアップロードするために、インターネット経由または特定の VPC からのアクセスを有効にします。この例では、インターネットアクセスの設定方法を示します。VPC のアクセス制御を設定する方法の詳細については、VPC アクセス制御の設定をご参照ください。
-
Enterprise Edition インスタンスの管理ページで、左側のナビゲーションウィンドウから を選択します。
-
アクセス制御 ページで、インターネット タブをクリックします。
-
インターネット タブで、アクセスポータル スイッチをオンにし、インターネットホワイトリストの追加 をクリックします。
-
インターネットホワイトリストの追加 ダイアログボックスで、許可する CIDR ブロックとその説明を入力し、OK をクリックします。
-
-
(任意) 匿名プルを許可 を有効にします。
匿名プルを許可 を有効にすると、ログインせずに公開チャートをプルできます。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
[インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
概要 ページの右側にある インスタンス設定 セクションで、匿名プルを許可 スイッチをオンにします。
-
ヒント ダイアログボックスで、OK をクリックします。
ステップ 2:クライアントのインストールと設定
-
公式サイトから Helm のバージョンをダウンロードします。
説明Helm クライアントが v2 リリースであることを確認してください。
helm version -cコマンドを実行してクライアントのバージョンを確認できます。この手順では、v2.14.2 を例として使用します。 -
次のコマンドを実行して、Helm パッケージを解凍し、指定したディレクトリに移動します。
# パッケージを解凍します。 tar -zxvf helm-v2.14.2-linux-amd64.tgz # パッケージを指定したディレクトリに移動します。 mv linux-amd64/helm /usr/local/bin/helm -
Helm プラグインをインストールします。
説明Helm プラグインをインストールする前に、Git をインストールする必要があります。
中国本土以外にいる場合、または GitHub への安定した接続がある場合は、次のコマンドを実行して Helm プラグインをインストールします。
helm plugin install https://github.com/AliyunContainerService/helm-acr -
Helm 環境を初期化します。
-
Container Service for Kubernetes (ACK) クラスターのノード上にいる場合、Tiller はデフォルトで初期化されているため、クライアントのみを初期化する必要があります。Google チャートソースへのアクセスを避けるには、次のコマンドを実行します:
helm init --client-only --skip-refresh -
自己管理型 Kubernetes クラスターのノードでは、Google チャートソースへのアクセスを避けるために次のコマンドを実行します:
helm init --skip-refresh
-
ステップ 3:チャートのプッシュとプル
-
次のコマンドを実行して、ローカルリポジトリマッピングを設定します。
ローカルリポジトリ名を指定し、それを特定の名前空間のチャートリポジトリにマッピングする必要があります。
export HELM_REPO_USERNAME='<username-of-your-access-credential>'; export HELM_REPO_PASSWORD='<password-of-your-access-credential>'; helm repo add <local-repository-name> acr://<instance-name>-chart.<region-id>.cr.aliyuncs.com/<namespace>/<repository-name> --username ${HELM_REPO_USERNAME} --password ${HELM_REPO_PASSWORD} -
チャートをプッシュします。
-
次のコマンドを実行して、チャートをプッシュします。
# ローカルでチャートを作成します。 helm create <chart-name> # チャートディレクトリをプッシュします。 helm cm-push <chart-name> <local-repository-name> # または、圧縮されたチャートパッケージをプッシュします。 helm cm-push <chart-name>-<chart-version>.tgz <local-repository-name>xxx# helm create chartname Creating chartname xxx# helm push chartname localChart Pushing chartname-0.1.0.tgz to localChart... Done. xxx#
[チャートリポジトリ] ページで、チャートリポジトリの名前をクリックし、バージョン をクリックします。バージョン ページで、新しいチャートを表示できます。
-
-
次のコマンドを実行して、チャートをプルします。
# ローカルのチャートインデックスを更新します。 helm repo update # チャートをプルします。 helm fetch <local-repository-name>/<chart-name> --version <chart-version> # または、チャートを直接インストールします。 helm install -f values.yaml <local-repository-name>/<chart-name> --version <chart-version>