如果您想使用较小的可重复使用的构建块来构建复杂的应用,请创建复合模板。例如,您可以创建一个包含多个已连接的应用模板的复合模板。
您还可以创建复合模板,以对您使用 App Lifecycle Manager 部署的 SaaS 产品的部署单元进行建模和打包。如需了解详情,请参阅模型和软件包部署单元。
通过添加和连接标准应用模板和各个组件来设计复合模板。这种模块化方法可让您执行以下操作:
- 加快开发速度:使用较小的构建块组装复杂的应用。您可以在多个复合模板中重复使用每个标准应用模板。
- 实现并行开发:使模块化团队能够专注于特定的构建块。例如,数据库团队可以解决数据存储和分析问题,而无需过多依赖应用逻辑团队。
- 降低漏洞影响:开发者可以更新或修复构建块,而无需重新部署整个应用。
- 改善安全状况:通过创建不同的服务账号来部署每个智能模块,从而限制访问权限。确保每个团队仅拥有其配置的构建块的权限。
本文档将介绍如何设计、验证和共享复合模板。
准备工作
如需执行本文档中的任务,请让管理员为您授予已启用应用的文件夹或管理项目的必要角色,如下表所示:
| 任务 | 所需的角色 |
|---|---|
| 创建、设计和修改组合模板 | App Design Center Admin (roles/designcenter.admin) 或 App Design Center User (roles/designcenter.user) |
| 将复合模板发布或共享到目录 | Application Design Center Admin (roles/designcenter.admin) |
如需详细了解角色,请参阅使用 IAM 进行访问权限控制。
如需使用自己的标准应用模板作为构建块,请设置输入和输出变量以建立可配置的变量,并在应用模板之间创建连接。有关详情,请参阅:
创建复合应用模板
如果您想设计和分享复杂的应用,请创建组合模板。您可以在模板设计中添加和关联以下内容:
标准应用模板:从以下现有模板中选择:
- 由 Google 设计的模板,其中包含 Google Cloud 最佳实践和默认安全配置。
- 您之前创建并添加到空间目录中的模板。
组件:从以下 Google Cloud 资源中选择:
- 由 Google 设计的组件,纳入了 Google Cloud 最佳实践和默认安全配置。
- 您自己的导入组件,基于您自己的 Terraform 模块。
指定模板详细信息
模板详细信息有助于您对模板进行分类,并帮助开发者决定是否使用您的模板。
如需输入模板的详细信息,请执行以下操作:
设计画布
在导航菜单中,点击模板。
从创建模板列表中,选择复合模板。
系统会自动填充模板 ID 字段。或者,输入模板的唯一标识符。此字段是必填字段。
在模板名称字段中,输入一个人类可读的标识符,以便在 Google Cloud 控制台中显示。
如果您未提供名称,系统会将模板 ID 复制到此字段中。
在说明字段中,输入应用用途的简要说明。
点击创建模板。系统会显示设计画布。
gcloud CLI
创建新的复合应用模板。
gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION \
--composition-type=COMPOSITE
替换以下内容:
APPLICATION_TEMPLATE:您要创建的应用模板的模板 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。DISPLAY_NAME:要在 Google Cloud 控制台中显示的名称。DESCRIPTION:简要说明。
如需了解详情,请参阅 gcloud design-center spaces application-templates create。
设计模板
通过向以下起始点添加和连接标准应用模板和组件来设计复合模板:
- 空白画布。
- Google 提供的模板。
- 在 Gemini 的协助下生成的模板。
在您设计模板时,App Design Center 会生成 Terraform 代码来反映设计和配置详细信息。
如需设计模板,请执行以下操作:
设计画布
在设计画布中,选择设计以查看画布。
如需开始使用,请执行以下任一操作:
如需从 Google 提供的模板开始,请在画布上的开始区域中点击模板名称。
如需从空白画布开始,请继续执行下一步。
如需向画布添加标准应用模板,请执行以下操作:
在组件区域中,点击嵌入模板。
如需添加现有模板,请点击以下列表中的模板:
- 模板:空间目录中或已与空间共享的标准应用模板。
- Google 模板:由 Google 创建并添加到 Google 目录中的标准应用模板。
如需将所选模板添加到画布,请点击选择。
如需创建新的标准应用模板,请点击创建新模板。系统会打开创建新模板页面。
如需了解详情,请参阅设计标准应用模板。
如需向画布添加组件,请在组件区域中点击相应组件。
如需在模板和组件之间创建通信渠道,请执行以下任一操作:
从一个智能模块上的蓝点拖动到另一个智能模块上的蓝点。
如需向现有组件添加关联组件,请点击 添加,然后选择要添加的组件。
如需了解连接详情,请参阅每种受支持资源的配置文档。
如需移除智能模块或连接,请执行以下操作:
在画布中,点击智能模块或连接。
在配置区域中,点击删除。
在该字段中,输入 delete。
点击删除。
gcloud CLI
确定空间目录中构建块的模板修订版本 URI。
gcloud design-center spaces shared-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE替换以下内容:
PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。
如需了解详情,请参阅 gcloud design-center spaces shared-templates list。
确定要添加到模板中的 Google 目录组成块的模板修订版本 URI。
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1如需了解详情,请参阅 gcloud design-center spaces shared-templates list。
将标准应用模板或组件添加到复合模板。
gcloud design-center spaces application-templates components create COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URI替换以下内容:
COMPONENT:要添加到模板中的标准应用模板或组件的 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。APPLICATION_TEMPLATE:您要向其中添加标准应用模板或组件的复合应用模板的模板 ID。SHARED_TEMPLATE_URI:标准应用模板或共享模板 URI。例如projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1。
如需了解详情,请参阅 gcloud design-center spaces application-templates components create。
向模板添加第二个标准应用模板或组件。
gcloud design-center spaces application-templates components create COMPONENT_2 \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --shared-template-revision-uri=SHARED_TEMPLATE_URI_2替换以下内容:
COMPONENT_2:要添加到模板中的第二个标准应用模板或组件的 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。APPLICATION_TEMPLATE:您要在其中添加标准应用模板或组件的复合模板的模板 ID。SHARED_TEMPLATE_URI_2:第二个标准应用模板或共享组件模板 URI。例如projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1。
如需了解详情,请参阅 gcloud design-center spaces application-templates components create。
在标准应用模板或组件之间创建连接。
gcloud design-center spaces application-templates components connections create CONNECTION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE \ --component=COMPONENT \ --destination-component-uri=COMPONENT_2替换以下内容:
CONNECTION:要添加到模板的连接的连接 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。APPLICATION_TEMPLATE:您要添加连接的应用模板的模板 ID。COMPONENT:源标准应用模板或组件 ID。COMPONENT_2:目标标准应用模板或组件 ID。
如需了解详情,请参阅 gcloud design-center spaces application-templates components connections create。
为组件配置默认值
对于添加到模板中的每个组件,您都可以指定默认配置详细信息,例如资源的所属项目和部署位置。当根据此模板创建应用时,App Design Center 会应用这些默认设置。
如果默认配置不符合应用开发者的要求,他们还可以修改连接详细信息。例如,您可以在创建应用时修改环境变量键名、更改连接端口或向服务账号添加其他角色。
在开发者部署应用之前,他们可以查看和修改您在模板中配置的默认值。开发者必须为每个受支持的资源配置所需的详细信息。
如需配置组件和连接,请执行以下操作:
设计画布
在设计画布中,点击某个组件。
在配置区域中,从项目 ID 列表中选择要部署资源的项目。选择符合以下条件的项目:
为资源配置其他设置。例如,对于 Cloud SQL,您可以配置以下内容:
- 区域
- 备份配置
- 数据库标志
- IP 配置
如需查看每个组件的配置文档链接,请参阅支持的资源。
在设计画布上连接组件时,系统会使用默认配置值来创建连接。如需添加或修改连接详细信息,请执行以下操作。
在设计画布中,点击两个组件之间的连接。系统会打开连接面板并显示连接参数。
执行下列其中一项操作:
如需修改现有连接参数,请点击修改。
如需添加新的连接参数,请点击添加参数。
更新键和值字段。例如,您可能需要修改以下详细信息:
- 要与应用要求保持一致的环境变量键名称。
- 连接端口值。
- 添加到服务账号的角色。
点击保存。
gcloud CLI
说明应用模板中的每个组件,以查看组件参数。
gcloud design-center spaces application-templates components describe COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --application-template=APPLICATION_TEMPLATE替换以下内容:
COMPONENT:要描述的组件的组件 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。APPLICATION_TEMPLATE:应用模板的模板 ID。
如需了解详情,请参阅 gcloud design-center spaces application-templates components describe。
对于要修改的每个组件,请在主目录中创建一个包含参数值的 JSON 文件。
例如,您可以为 Cloud Run 组件创建以下文件:
[ { "key": "service_name", "value": "frontend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT" } ]更新应用模板中的每个组件,以配置必需的参数。
gcloud design-center spaces application-templates components update COMPONENT \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --parameters=PARAMETERS_FILE_PATH \ --application-template=APPLICATION_TEMPLATE替换以下内容:
COMPONENT:要更新的组件的组件 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。PARAMETERS_FILE_PATH:包含组件参数的 JSON 文件。APPLICATION_TEMPLATE:应用模板的模板 ID。
如需了解详情,请参阅 gcloud design-center spaces application-templates components update。
描述组件连接。
gcloud design-center spaces application-templates components connections describe CONNECTION \ --component=COMPONENT \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE替换以下内容:
CONNECTION:连接 ID。COMPONENT:组件 ID。APPLICATION_TEMPLATE:模板 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。
如需了解详情,请参阅 gcloud design-center spaces application-templates components connections describe。
修改组件连接参数。
gcloud design-center spaces application-templates components connections update CONNECTION \ --component=COMPONENT \ --application-template=APPLICATION_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'替换以下内容:
CONNECTION:连接 ID。COMPONENT:组件 ID。APPLICATION_TEMPLATE:模板 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。SOURCE_KEY:新参数键。SOURCE_VALUE:新的参数值。
如需了解详情,请参阅 gcloud design-center spaces application-templates components connections update。
配置标准应用模板
当开发者将您的复合模板部署为应用时,系统会为以下各项创建应用:
- 每组标准应用模板。
- 每个组件组。
您可以为每个组提供默认值。例如,您可以添加部署项目、区域和所有者。当开发者在 App Design Center 部署应用时,他们可以使用默认值,也可以为每个应用指定自己的详细信息。
如需为每个群组提供默认应用详细信息,请执行以下操作:
验证模板
在与开发者分享您的复合模板之前,请先在 App Design Center 部署并验证您的模板。此步骤有助于您在多台机器上进行大规模部署之前验证功能。
如需验证模板,请执行以下操作:
在设计画布中,点击继续,然后选择创建要部署的应用。
系统会打开创建应用面板。
在复合应用详情区域中,输入应用详情。
如需了解详情,请参阅创建申请草稿。
点击下一步。
对于您添加到复合模板中的每个智能模块,系统会在您部署时创建一个应用。配置每个应用,然后点击下一步。
如需了解详情,请参阅创建申请草稿。
测试已部署的应用,确保其符合您的要求。
为避免重复收费,请删除测试部署。
创建缩放部署
如需部署和管理复合模板的多个实例,请使用 App Lifecycle Manager。
在 App Design Center 中验证您的模板。
在设计画布中,点击继续,然后选择使用 App Lifecycle Manager 进行大规模部署。
系统随即会打开 App Lifecycle Manager 单元页面。
如需了解部署步骤,请参阅部署 SaaS 产品。
共享模板
如需让开发者可以使用您的模板,您可以将其添加到目录并进行共享。将模板添加到目录后,该模板将作为应用源在共享该目录的空间中提供。
如需共享模板,请执行以下操作:
在设计画布中,点击添加到目录。
如需管理共享目录的空间,请参阅管理目录。
修改并重新分享模板
随着您对应用的了解不断深入,业务需求不断变化,您可能需要更新模板。例如,您可能决定通过添加 Memorystore 服务进行缓存来提升后端服务的性能。
修改模板时,您会创建模板修订版本。如需将更改应用到现有应用,开发者必须使用相应修订版本部署应用。
App Design Center 不会自动将模板修订版本发布到目录。如需分享最新修订版本,请再次将模板发布到目录。
如需创建新修订版本,请执行以下操作:
删除模板
如果您不再需要某个模板,可以将其删除。
设计画布
- 在设计画布中,点击 操作。
- 点击删除。
gcloud CLI
删除应用模板。
```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```
替换以下内容:
APPLICATION_TEMPLATE:要删除的应用模板的模板 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。
如需了解详情,请参阅 gcloud design-center spaces application-templates delete。
后续步骤
- 通过部署 SaaS 产品,使用 App Lifecycle Manager 部署复合模板。
- 通过管理模板目录与其他空间共享模板。
- 通过导入组件,在模板设计中使用您自己的 Terraform 模块。