このトピックでは、Helm チャートデプロイメントパッケージの利用シーンと仕組みについて説明し、その作成方法と使用方法を解説します。
利用シーン
-
サービスのデプロイ時に Helm チャートを非公開にする必要がある場合は、Compute Nest の Helm チャートデプロイメントパッケージを使用することを推奨します。これらのパッケージは Compute Nest の ACR リポジトリに保存され、一時キーを使用して安全にプルされます。
重要一般公開されている Helm チャートの場合は、サービスの ROS テンプレートでパブリック URL を指定することでデプロイできます。追加の設定は不要です。
-
Helm チャートは通常、複雑な構造と多数の YAML デプロイメントファイルを持つサービスで、これらのファイルを構造的に管理するために使用されます。Compute Nest では、Helm チャートデプロイメントパッケージは ACR リポジトリでホストされます。アップロードとプルの仕組みの詳細については、「コンテナイメージアーティファクト」をご参照ください。
仕組み
サービステンプレートで Helm チャートデプロイメントパッケージを使用するには、以下の 2 つのプレースホルダーを定義する必要があります。これらのプレースホルダーは、デプロイ時に実際の値に置き換えられます。
-
{{computenest::helmchart::test}}:デプロイメントパッケージのプレースホルダーです。これは Helm チャートの完全な URL (例:oci://compute-nest-chart-registry.cn-hangzhou.cr.aliyuncs.com/${aliUid}/wordpress:15.4.1) に置き換えられます。 -
{{computenest::helm::dockerconfigjson}}:リポジトリのプルシークレットです。Compute Nest の ACR リポジトリでホストされている Helm チャートをプルするために使用されます。
Helm チャートのデプロイメントでは、Compute Nest が定義したパブリックモジュール MODULE::ACS::ComputeNest::FluxOciHelmDeploy を使用します。このモジュールは、オープンソースコンポーネントである FluxCD を使用しており、現在は OCI 形式のチャートリポジトリのみをサポートしています。Compute Nest の Helm チャートデプロイメントパッケージのリポジトリは OCI 形式を使用します。以下のサンプルテンプレートは、MODULE::ACS::ComputeNest::FluxOciHelmDeploy を使用して Helm チャートデプロイメントパッケージをデプロイする方法を示しています。
Resources:
FluxHelmDeploy:
Type: MODULE::ACS::ComputeNest::FluxOciHelmDeploy
Version: v1
Properties:
ClusterId:
Ref: ClusterId
ReleaseName: wordpress
Namespace: wordpress
HelmChartUrl: '{{ computenest::helmchart::test }}'
DockerConfigJson: '{{ computenest::helm::dockerconfigjson }}'
ChartValues:
mariadb:
primary:
persistence:
enabled: true
storageClass: alicloud-disk-essd
size: 20Gi
persistence:
enabled: false
...
作成と使用
前提条件
Helm CLI がインストールされており、パッケージ化された Helm チャートがあることを確認してください。そうでない場合は、「Helm チャートのプッシュとプル」をご参照ください。
Helm チャートパッケージの作成
-
デプロイメントパッケージの基本情報を設定します。
-
Compute Nest コンソールにログインします。左側のナビゲーションウィンドウで、サービスアーティファクト を選択します。デプロイメントオブジェクト タブで、リソースの作成 をクリックします。
-
基本情報 セクションで、以下のパラメーターを設定します。
パラメーター
説明
リソース名
名前には、漢字、英字、数字、アンダースコア (_) を使用できます。名前の長さは 3~128 文字である必要があります。漢字は 2 文字としてカウントされます。デプロイメントパッケージ名は作成後に変更できません。
バージョン名
名前には、漢字、英字、数字、アンダースコア (_) を使用できます。名前の長さは 3~50 文字である必要があります。漢字は 2 文字としてカウントされます。
リソースの説明
説明は 10~500 文字である必要があります。漢字は 2 文字としてカウントされます。
リソースグループ
デプロイメントパッケージが属するリソースグループを選択します。
リソースグループを使用すると、使用量、権限、または所有者に基づいてクラウドリソースをグループ化でき、組織内の複数のユーザーやプロジェクトに対して階層的なリソース管理が可能になります。詳細については、「リソースグループ」をご参照ください。
タグの設定
完全なタグキーとタグ値を入力または選択して、デプロイメントパッケージにタグを追加します。リソースには最大 20 個のタグをバインドできます。利用可能なタグキーや値がない場合は、カスタムタグを作成できます。詳細については、「カスタムタグの作成とバインド」をご参照ください。
-
-
Helm チャートデプロイメントパッケージを設定します。
-
リソースの内容 セクションで、リソースタイプ を [Helm チャート] に設定します。
-
アクセス資格情報の取得 をクリックして名前空間の一時キーを取得し、次にターミナルで提供されたコマンドを実行します。
[Helm チャート] タブには、3 つのステップからなるプロセスが表示されます。ステップ 1:
helm registry loginコマンドを実行してイメージリポジトリにログインします。ステップ 2: チャートにタグを付け、イメージリポジトリにプッシュします。ステップ 3: チャート名 (例:chart-name) を入力し、helm push chart-name.tgz oci://xxxコマンドを実行してプッシュを完了します。 -
Helm チャートを Compute Nest の ACR リポジトリにアップロードした後、新しくアップロードしたチャートを選択し、リソースの公開 をクリックします。
-
-
デプロイメントパッケージを表示します。
-
[サービスデプロイメントパッケージ] ページに戻ります。デプロイメントパッケージの名前をクリックして リソースの詳細 ページを開き、作成の進捗状況を確認します。
-
ステータスが使用可能に変わると、デプロイメントパッケージの使用準備が整います。
-
Helm チャートパッケージの使用
このセクションでは、プライベートサービスの作成を例に、Helm チャートデプロイメントパッケージの使用方法を説明します。
-
Compute Nest コンソールにログインします。
-
左側のナビゲーションウィンドウで [マイサービス] をクリックします。[マイサービス] ページの [作成済みサービス] タブで、[サービスの作成] をクリックします。
-
[新しいサービスの作成] ページで、作成方法として [カスタム起動] を選択し、サービスタイプとして プライベートデプロイサービス を選択して、次へ:サービスの設定 をクリックします。
-
サービスの基本情報を入力し、ROS テンプレートを提供します。
サービスの ROS テンプレートに、Helm チャートデプロイメントパッケージのプレースホルダー
{{ computenest::helmchart::test}}とプルシークレットのプレースホルダー{{ computenest::helm::dockerconfigjson}}を追加します。 -
[デプロイメントパッケージの関連付け] セクションで、Helm 関連付けの設定 を設定します。[デプロイメントオブジェクト] の選択 をクリックし、ダイアログボックスから目的のデプロイメントパッケージとバージョンを選択し、確定する をクリックしてプレースホルダーに関連付けます。
ダイアログボックスでは、関連付け識別子が
{{ computenest::helmchart::wordpress }}のような形式で表示されます。Helm チャートデプロイメントパッケージのみ選択できます。関連付けが完了すると、ページ下部の [Helm の関連付け] セクションに、関連付け識別子と関連付けられたデプロイメントパッケージのマッピングが表示されます。 -
サービスの作成とテストが正常に完了したら、Compute Nest の審査基準に照らしてサービスを確認し、審査のためにサービスを提出します。審査基準の詳細については、「審査基準」をご参照ください。
-
サービスが作成された後、サービス詳細ページでデプロイメントパッケージの関連付けを表示できます。
サービス詳細ページで、[デプロイメントの関連付け] タブをクリックし、次に [Helm の関連付け] サブタブをクリックします。関連付け識別子 (例:
{{ computenest::helmchart::wordpress }}) と、対応するデプロイメントパッケージの情報およびバージョン番号を表示できます。
関連ドキュメント
-
サービスの作成の詳細については、「サービスの作成」をご参照ください。
-
デプロイメントパッケージまたはそのバージョンが不要になった場合は、削除できます。詳細については、「デプロイメントパッケージの削除」をご参照ください。
-
デプロイメントパッケージの内容やその他の情報を変更するには、新しいバージョンを作成します。詳細については、「新しいバージョンの作成」をご参照ください。
-
デプロイメントパッケージのアップグレード設定を構成するには、「サービスアップグレードの構成」をご参照ください。