Helm cm-push プラグインは、チャートのプッシュとプルを可能にする Helm の拡張機能です。チャートとは、Kubernetes クラスターでアプリケーション、ツール、またはサービスを実行するために必要なリソース定義を含むパッケージです。チャートをリモートチャートリポジトリにプッシュするには、まず helm plugin install コマンドを使用してプラグインをローカルにインストールする必要があります。その後、helm push コマンドを使用してチャートをプッシュできます。
Helm cm-push プラグインを使用して HTTP 経由でチャートをプッシュおよびプルするには、まずチケットを送信して、ご利用のクライアント IP アドレスをインターネットホワイトリストに追加する必要があります。
ステップ 1: Enterprise Edition インスタンスの設定
-
名前空間を作成します。
Container Registry コンソールにログインします。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
Enterprise Edition インスタンスの管理ページで、 を選択します。
-
名前空間 ページで、名前空間を作成 をクリックします。
-
名前空間を作成 ダイアログボックスで、名前空間 名を入力し、リポジトリの自動作成 と リポジトリの自動作成のためのデフォルト設定 を設定してから、OK をクリックします。
-
チャートリポジトリを作成します。
説明名前空間で リポジトリの自動作成 を有効にした場合、コンソールでチャートリポジトリを作成する必要はありません。Helm CLI から直接チャートをプッシュできます。
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 インスタンスの 概要 ページで、コンポーネントの設定 セクションに移動し、[Charts] のスイッチをオンにします。
-
Enterprise Edition インスタンスの管理ページで、 を選択します。
-
[Chart repository] ページで、[Create chart repository] をクリックします。
-
[Create Helm chart] ダイアログボックスで、名前空間 を選択し、[Chart repository name] と タイプ を設定してから、OK をクリックします。
-
-
アクセス認証情報を設定します。
以下の手順では、固定パスワードの設定方法を説明します。
-
Enterprise Edition インスタンスの管理ページで、 を選択します。
-
アクセス資格情報 ページで、パスワードの設定 をクリックします。
-
パスワードの設定 ダイアログボックスで、パスワード を入力し、パスワードの確認 フィールドに再入力してから、OK をクリックします。
-
-
アクセス制御ポリシーを設定します。
インターネットまたは指定した VPC からのアクセスを有効にして、Helm チャートをプッシュできるようにします。このトピックでは、インターネット経由のアクセスの制御を例に説明します。VPC 経由のアクセスの制御を設定する方法の詳細については、「VPC のアクセス制御の設定」をご参照ください。
-
Enterprise Edition インスタンスの管理ページで、 を選択します。
-
アクセス制御 ページで、インターネット タブをクリックします。
-
インターネット タブで、アクセスポータル をオンにし、インターネットホワイトリストの追加 をクリックします。
-
インターネットホワイトリストの追加 ダイアログボックスで、インスタンスへのアクセスを許可する IP アドレス範囲と説明を入力し、OK をクリックします。
-
-
(任意) 匿名プルを許可 スイッチをオンにします。
匿名プルを許可 スイッチをオンにすると、ログインせずにパブリックチャートリポジトリからチャートをプルできます。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、[Instances] をクリックします。
[Instances] ページで、管理する Enterprise Edition インスタンスをクリックします。
-
概要 ページの右側にある インスタンス設定 セクションに移動し、匿名プルを許可 スイッチをオンにします。
-
ヒント ダイアログボックスで、OK をクリックします。
ステップ 2: Helm クライアントのインストールと設定
-
Helm をダウンロードします。
説明このトピックでは、Helm 3.7 以降を使用してチャートをプッシュおよびプルします。
helm versionコマンドを実行して、クライアントのバージョンを確認できます。このトピックでは、Helm 3.10.0 を例として使用します。 -
次のコマンドを実行して Helm パッケージを解凍し、実行可能ファイルを PATH 内のディレクトリに移動します。
# パッケージを解凍します。 tar -zxvf helm-v3.10.0-rc.1-linux-amd64.tar.gz # 実行可能ファイルを指定したディレクトリに移動します。 mv linux-amd64/helm /usr/local/bin/helm -
チャートディレクトリを Container Registry リポジトリにプッシュするには、
helm cm-pushコマンドを使用します。このコマンドは、Helm cm-push プラグインによって提供されます。次のコマンドを実行して、プラグインをインストールします。説明Helm プラグインをインストールする前に、
yum install gitコマンドを実行して Git をインストールしてください。helm plugin install https://github.com/AliyunContainerService/helm-acr
ステップ 3: チャートのプッシュとプル
-
次のコマンドを実行して、リモートチャートリポジトリを追加し、ローカルエイリアスを割り当てます。このコマンドは、エイリアスを特定の名前空間内のチャートリポジトリの URL にマッピングします。
helm repo add <local-repository-alias> https://test9-7-chart****.cn-hangzhou.cr.aliyuncs.com/ns1/repo1 --username <username> --password <password> -
次のコマンドを実行して、チャートをプッシュします。
# ローカルでチャートを作成します。 helm create <chart-name> # チャートディレクトリをプッシュします。 helm cm-push <chart-name> <local-repository-alias>[Chart repository] ページで、ターゲットチャートリポジトリの名前をクリックし、バージョン をクリックします。バージョン ページで、新しくプッシュされたチャートを表示できます。
-
次のコマンドを実行して、チャートをインストールおよびプルします。
# リモートチャートリポジトリからローカルチャートインデックスを更新します。 helm repo update # チャートをプルします。 helm fetch <local-repository-alias>/<chart-name> --version <chart-version> # または、チャートを直接インストールします。 helm install -f values.yaml <local-repository-alias>/<chart-name> --version <chart-version>