管理员创建应用模板,以帮助确保每个开发团队都使用其首选架构。这有助于您管理开发者在应用部署中使用的资源和配置。
创建应用模板后,您所在空间中的其他用户可以访问该模板。您还可以将模板添加到目录,以便与其他空间共享。
开发者可以使用您的模板来创建和部署应用。开发者创建应用时,可以配置模板中的每个组件,但无法添加或移除任何组件。该模板会生成 Terraform 代码,开发者可以从 App Design Center 下载或部署该代码。
本文档可帮助您使用 App Design Center 设计、配置和共享应用模板。
准备工作
您必须在启用应用的文件夹或管理项目上拥有以下角色之一:
- Application Design Center Admin (
roles/designcenter.admin) - Application Design Center User (
roles/designcenter.user)
创建应用模板
创建应用模板,以便与开发团队分享您的架构设计。您可以向模板设计中添加以下组件:
资产:可帮助您控制其他资源的高级资源。例如,服务账号。
服务:通过网络使用的网络或 API 接口。 例如 Cloud Storage 和 Vertex AI。
工作负载:执行业务功能的二进制部署。例如,Cloud Run 和 Compute Engine。
您可以从以下组件中进行选择:
- 由 Google 设计的组件,纳入了 Google Cloud 最佳实践和默认安全配置。
- 您自己的导入组件,基于您自己的 Terraform 模块。
在您设计模板时,App Design Center 会生成 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
替换以下内容:
APPLICATION_TEMPLATE:您要创建的应用模板的模板 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。DISPLAY_NAME:要在 Google Cloud 控制台中显示的名称。DESCRIPTION:简要说明。
如需了解详情,请参阅 gcloud design-center spaces application-templates create。
设计模板
在设计画布上添加和连接组件,从而设计模板。 以下示例包含三个连通分量。
您可以通过向以下起始点添加组件来设计模板:
- 空白画布。
- Google 提供的模板。
- 在 Gemini 的协助下生成的模板。
如需设计模板,请执行以下操作:
设计画布
在设计画布中,确保已选择设计。
如需开始使用,请执行以下任一操作:
如需从头开始,请在组件区域中点击某个组件,将其添加到画布区域。
如需从 Google 提供的模板开始,请点击相应模板的名称。
如需使用自然语言对话生成模板,请点击 Custom Application with Gemini。
如需在组件之间创建通信渠道,请执行以下任一操作:
如需连接画布上的两个组件,请从一个组件上的蓝点拖动到另一个组件上的蓝点。
如需添加到现有组件,请点击 添加,然后选择要添加的组件。
如需了解连接详情,请参阅每种受支持的资源的配置文档。
如需移除组件或连接,请执行以下操作:
在画布中,点击相应组件或连接。
在配置区域中,点击删除。
在该字段中,输入 delete。
点击删除。
gcloud CLI
确定要添加到模板中的 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。
为组件配置默认值
对于添加到画布中的每个组件,您都可以指定配置详细信息,例如创建资源的 Google Cloud 项目以及部署资源的位置。如果您指定配置详细信息,Application 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_1 \ --application-template=APPLICATION_TEMPLATE替换以下内容:
COMPONENT:要更新的组件的组件 ID。PROJECT:您的管理项目 ID。LOCATION:应用模板区域。SPACE:您的空间 ID。PARAMETERS_FILE_PATH_1:包含组件参数的 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。
修改 Terraform 代码
在您设计应用模板时,App Design Center 会生成 Terraform 代码来反映设计和配置详细信息。您可以修改 Terraform,以指定组件配置详细信息。
系统会生成以下 Terraform 文件:
main.tf:包含模板中每个组件的模块的基础设施代码。outputs.tf:公开有关已部署的基础设施组件的信息。variables.tf:声明main.tf文件中使用的变量的名称、类型和说明。input.tfvars:为main.tf文件中使用的变量定义值。providers.tf:定义有助于 Terraform 与 Google Cloud API 和资源互动的标签。
如需了解背景信息,请参阅 Terraform onGoogle Cloud概览。
如需修改 Terraform 代码,请执行以下操作:
在设计画布中,点击代码。系统会显示生成的 Terraform 文件。
点击 main.tf。系统会显示每个组件的 Terraform 模块。
修改配置详细信息。如需了解详情,请参阅每种受支持的资源的配置文档。
系统会自动验证您的修改,并在修改无效时显示错误。
如需突出显示并比较您的修改,请执行以下操作:
点击查看差异。
如需还原更改,请在边距中点击点击以还原更改。
点击查看差异以关闭比较视图。
如需保存所做的修改,请点击保存代码更改。
如需验证更改,请执行以下操作。
- 点击设计。
- 点击某个组件,然后查看其配置详细信息。
删除模板
如果您不再需要某个模板,可以将其删除。
设计画布
- 在设计画布中,点击 操作。
- 点击删除。
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。
验证模板
在与开发者分享模板之前,请确保该模板能够按预期运行。如需验证模板,请执行以下操作:
- 使用以下设置创建应用:
- 从环境列表中,选择 TEST。
- 从严重性列表中,选择 LOW。
- 部署应用。如需了解部署步骤,请参阅从控制台部署应用。
- 测试您的基础架构,确保其符合您的要求。
- 为避免重复收费,请删除测试部署。
将模板共享到目录
验证模板后,您可以将模板发布到目录。 有权访问共享目录所在空间的开发者可以使用该模板。
- 在设计画布中,点击添加到目录。
- 如需管理共享目录的空间,请参阅管理目录。
修改并重新分享模板
随着您对应用的了解不断加深,业务需求不断变化,您可能需要更新应用模板。例如,您可能会决定通过添加 Memorystore 服务进行缓存来提高后端服务的性能。
修改模板时,您会创建模板修订版本。如需将更改应用到现有应用,开发者必须使用相应修订版本部署应用。
应用设计中心不会自动将模板修订版本发布到目录。如需共享最新修订版本,请再次将模板发布到目录。
如需创建新修订版本,请执行以下操作:
在导航菜单中,点击模板。
选择要修改的应用模板。系统会打开画布。
修改模板以满足您的新要求。例如,添加和配置新组件。
如需与其他空间共享最新修订版本,请再次将模板添加到相关目录。