プロダクト概要
アプリケーションダッシュボードの紹介
用語 | 説明 |
インストールパッケージ | インストールパッケージは、パートナーがMarketplace基準に準拠した自動化デプロイ成果物を提出するもので、クラウドリソースのオーケストレーション、インストールパラメータ、出力宣言などを統合したものです。 ユーザーはMarketplaceのワンクリックデプロイで、リソース作成、アプリ設定、プロセス起動を自動的に完了します。これにより全プロセス自動インストールを実現します。 |
| テンプレート作成 | 普通作成 |
利点 | 簡単で手軽、公式提供の固定テンプレートによって作成されます。 テンプレートパラメータをわずかに入力するだけで、迅速にインストールパッケージを作成し開発版を提出可能です。 | 柔軟性が高く、複雑なアプリケーションの作成が可能です。 各種タイプのリソースおよびリソースの各種パラメータを完全にカスタマイズ可能です。 |
不足 | 柔軟性が不足しており、部分パラメータのみカスタマイズをサポートします。 | ある程度の開発基盤が必要です。 Node.js環境とCLI開発者ツールをインストールする必要があります。 |






cloudappコマンドを使用するとツールの使い方を確認できます:cloudapp loginコマンドを使用してログインしてください。開発者のCAMキーを使用してログインする必要があります。cloudapp login $SECRET_ID@$SECRET_KEY
.cloudappディレクトリをインストールパッケージディレクトリとして使用することを推奨します。cloudapp initコマンドを使用して、サンプルのインストールパッケージを生成できます:# ローカルプロジェクトを初期化します。オプション -t で初期テンプレートを指定可能です。対応テンプレートはGithubテンプレートリストを参照してください(デフォルトテンプレート:CVMインスタンス+パブリックIP)cloudapp init hello-world# サンプル# cloudapp init hello-world -t CT_001
cloudapp init コマンドは現在プレビュー版機能であり、後日その使用方法とパラメータが調整される可能性があります。現在、cloudapp init はローカルでテンプレートコードをダウンロードするのみで、より多くのテンプレートコードは Marketplace の GitHub リポジトリ で確認できます。内容 | 位置 | 説明 |
インストールパッケージのメタ情報 | .cloudapp/package.yaml | インストールパッケージのメタ情報記述ファイルです。 インストールパッケージID・アプリケーションのインストールパラメータ・CAM権限ポリシーなどの情報を含む宣言です。 |
リソースと変数宣言 | .cloudapp/infrastructure/**/*.tf | リソースと変数の宣言は、Terraformの構文を採用します。 リソースはリソースブロックの方式で宣言します。変数はリソースデプロイ時に使用可能な変数であり、使用前に宣言する必要があります。 |
CVMイメージ(製品) | Marketplaceアーティファクトホスティングセンター | MarketplaceはCVMイメージホスティングを提供します。 |
内容 | 位置 | 説明 |
インストールパッケージのメタ情報 | .cloudapp/package.yaml | インストールパッケージのメタデータ記述ファイルです。 インストールパッケージ ID、アプリケーションのインストールパラメータ、CAM 権限ポリシーなどの情報を含む声明です。 |
リソースと変数宣言 | .cloudapp/infrastructure/**.tf | リソースと変数の宣言は、Terraformの構文を採用しています。 リソースはリソースブロックの方式で宣言します。変数はリソースデプロイ時に使用可能な変数であり、使用前に宣言する必要があります。 |
コンテナイメージ(製品) | Marketplace TCR リポジトリ | クラウドアプリケーションは、コンテナイメージのホスティングを必要とするアプリケーション向けに、TCRリポジトリによるイメージホスティングサービスを提供します。 |
サービスオーケストレーション | .cloudapp/software/charts/**/*.yaml | サービスオーケストレーション、Helm Chartのオーケストレーション仕様を採用しています。 コンテナクラスタ内のStatefulSet、Service、Job、Secretなどのオーケストレーションを行います。 |
package.yamlで宣言され、インストールパッケージID、アプリケーションのインストールパラメータ、Cloud API権限などの情報が含まれます。# インストールパッケージ ID(デベロッパーセンターのアプリケーション ID に対応)id: pkg-8lve2gn1# アプリケーションパラメータです。インストールプロセス中に顧客が設定可能なパラメータを定義します(例:所属ネットワーク、アプリケーション仕様、支払い方法など)args:- name: app_targetlabel: ターゲットネットワークwidget: subnet-select# アプリケーション権限宣言(オプション)です。アプリケーション内でクラウドAPIを呼び出す必要がある場合、ここで宣言する必要があります。role:policy:version: "2.0"statement:- action:- cloudapp:VerifyLicenseresource: "*"effect: allow
resource "tencentcloud_eks_cluster" "eks" {availability_zone = var.app_target.subnet.zonek8s_version = "1.20.6"vpc_id = var.app_target.vpc.idsubnet_ids = [var.app_target.subnet.id]service_subnet_id = var.app_target.subnet.id}
resource はリソースブロックの宣言を表し、"tencentcloud_eks_cluster" はリソースのタイプを表し、"eks" はリソース名です。tencentcloudです。cloudappです。# variableキーワードを使用して変数を宣言し、app_targetを「変数名」とします。var.app_targetでこの変数を使用できます。variable "app_target" {type = object({region = stringregion_id = stringvpc = object({id = stringcidr_block = string})subnet = object({id = stringzone = string})})}
variable を使用して変数を宣言します。上記の宣言では、app_targetが変数名です。リソースブロック内で var.app_target を参照できます。



cloudapp dockerコマンドを使用してリポジトリログインコマンドを取得します。
cloudapp docker --url コマンドを使用してリポジトリプッシュアドレスを取得します。
cloudapp docker --auth を使用して Docker 認証ファイルを個別に取得します。CI 構築のシナリオに適用されます。
cloudapp_helm_appタイプのリソースを宣言することで、コンテナサービスオーケストレーションを宣言できます。resource "cloudapp_helm_app" "helm_charts" {cluster_id = tencentcloud_eks_cluster.eks.idchart_src = "../software/chart"chart_username = var.cloudapp_repo_usernamechart_password = var.cloudapp_repo_passwordchart_values = {SUBNET_ID = var.app_target.subnet.idIMAGE_CREDENTIALS = {REGISTRY = var.cloudapp_repo_serverUSERNAME = var.cloudapp_repo_usernamePASSWORD = var.cloudapp_repo_password}}}
.cloudapp/software/chartに配置することが推奨されます)の指定が必要です。chart_valuesを介してリソース情報をHelm Chart Valuesに渡します。これらの情報はデプロイ時にHelmに伝達されるため、オーケストレーション時にインフラストラクチャを直接利用できます。上記の例では、サブネットIDをオーケストレーションに渡し、serviceのオーケストレーションを行う際にこのサブネットIDを指定することで、内部向けロードバランサータイプを生成します。別の一般的な例として、DBインスタンス化後の接続情報をオーケストレーションに渡すことで、ワークロードが環境変数から参照できるようにする、またはconfigmapに生成することが挙げられます。フィードバック