设计应用模板

管理员创建应用模板,以帮助确保每个开发团队都使用其首选架构。这有助于您管理开发者在应用部署中使用的资源和配置。

创建应用模板后,您所在空间中的其他用户可以访问该模板。您还可以将模板添加到目录,以便与其他空间共享。

开发者可以使用您的模板来创建和部署应用。开发者创建应用时,可以配置模板中的每个组件,但无法添加或移除任何组件。该模板会生成 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。

您可以从以下组件中进行选择:

在您设计模板时,App Design Center 会生成 Terraform 代码来反映设计和配置详细信息。

指定模板详细信息

模板详细信息有助于您对模板进行分类,并帮助开发者决定是否使用您的模板。

如需输入模板的详细信息,请执行以下操作:

设计画布

  1. 在导航菜单中,点击模板

    前往“模板”

  2. 点击创建模板

  3. 模板 ID 字段中,输入模板的唯一标识符。 此字段是必填字段。

  4. 模板名称字段中,输入一个人类可读的标识符,以便在 Google Cloud 控制台中显示。

    如果您未提供名称,系统会将模板 ID 复制到此字段中。

  5. 说明字段中,简要说明应用的目的。

  6. 点击创建模板。系统会显示设计画布。

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

设计模板

在设计画布上添加和连接组件,从而设计模板。 以下示例包含三个连通分量。

设计画布中的三层式 Web 应用。该应用包含前端、后端和数据库组件。

您可以通过向以下起始点添加组件来设计模板:

如需设计模板,请执行以下操作:

设计画布

  1. 在设计画布中,确保已选择设计

  2. 如需开始使用,请执行以下任一操作:

    • 如需从头开始,请在组件区域中点击某个组件,将其添加到画布区域。

    • 如需从 Google 提供的模板开始,请点击相应模板的名称。

    • 如需使用自然语言对话生成模板,请点击 Custom Application with Gemini

  3. 如需在组件之间创建通信渠道,请执行以下任一操作:

    • 如需连接画布上的两个组件,请从一个组件上的蓝点拖动到另一个组件上的蓝点。

    • 如需添加到现有组件,请点击 添加,然后选择要添加的组件。

    如需了解连接详情,请参阅每种受支持的资源的配置文档。

  4. 如需移除组件或连接,请执行以下操作:

    1. 在画布中,点击相应组件或连接。

    2. 配置区域中,点击删除

    3. 在该字段中,输入 delete

    4. 点击删除

gcloud CLI

  1. 确定要添加到模板中的 Google 目录组件的模板修订版本 URI。

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    如需了解详情,请参阅 gcloud design-center spaces shared-templates list

  2. 向应用模板添加组件。

    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

  3. 向模板添加第二个组件。

    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

  4. 在两个组件之间创建连接。

    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 会将其用作应用的默认值。

如果默认配置不符合您的要求,您还可以修改连接详细信息。例如,您可能需要修改环境变量键名称、更改连接端口或向服务账号添加其他角色。

在开发者部署应用之前,他们可以查看和修改您在模板中配置的默认值。开发者必须为每个受支持的资源配置所需的详细信息。

如需配置组件和连接,请执行以下操作:

设计画布

  1. 在设计画布中,点击某个组件。

  2. 配置区域中,从项目 ID 列表中选择要部署资源的项目。选择符合以下条件的项目:

  3. 为资源配置其他设置。例如,对于 Cloud SQL,您可以配置以下内容:

    • 区域
    • 备份配置
    • 数据库标志
    • IP 配置

    如需查看每个组件的配置文档链接,请参阅支持的资源

  4. 在设计画布上连接组件时,系统会使用默认配置值来创建连接。如需添加或修改连接详情,请执行以下操作。

    1. 在设计画布中,点击两个组件之间的连接。系统会打开连接面板并显示连接参数。

    2. 执行下列其中一项操作:

      • 如需修改现有连接参数,请点击修改

      • 如需添加新的连接参数,请点击添加参数

    3. 更新字段。例如,您可能需要修改以下详细信息:

      • 要与应用要求保持一致的环境变量键名称。
      • 连接端口值。
      • 已添加到服务账号的角色。
  5. 点击保存

gcloud CLI

  1. 描述应用模板中的每个组件,以查看组件参数。

     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

  2. 对于要修改的每个组件,请在主目录中创建一个包含参数值的 JSON 文件。

    例如,您可以为 Cloud Run 组件创建以下文件:

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. 更新应用模板中的每个组件,以配置必需的参数。

     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

  4. 描述组件连接。

     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

  5. 修改组件连接参数。

     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 代码,请执行以下操作:

  1. 在设计画布中,点击代码。系统会显示生成的 Terraform 文件。

  2. 点击 main.tf。系统会显示每个组件的 Terraform 模块。

  3. 修改配置详细信息。如需了解详情,请参阅每种受支持的资源的配置文档。

    系统会自动验证您的修改,并在修改无效时显示错误。

  4. 如需突出显示并比较您的修改,请执行以下操作:

    1. 点击查看差异

    2. 如需还原更改,请在边距中点击点击以还原更改

    3. 点击查看差异以关闭比较视图。

  5. 如需保存所做的修改,请点击保存代码更改

  6. 如需验证更改,请执行以下操作。

    1. 点击设计
    2. 点击某个组件,然后查看其配置详细信息。

删除模板

如果您不再需要某个模板,可以将其删除。

设计画布

  1. 在设计画布中,点击 操作
  2. 点击删除

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

验证模板

在与开发者分享模板之前,请确保该模板能够按预期运行。如需验证模板,请执行以下操作:

  1. 使用以下设置创建应用
    1. 环境列表中,选择 TEST
    2. 严重性列表中,选择 LOW
  2. 部署应用。如需了解部署步骤,请参阅从控制台部署应用
  3. 测试您的基础架构,确保其符合您的要求。
  4. 为避免重复收费,请删除测试部署。

将模板共享到目录

验证模板后,您可以将模板发布到目录。 有权访问共享目录所在空间的开发者可以使用该模板。

  1. 在设计画布中,点击添加到目录
  2. 如需管理共享目录的空间,请参阅管理目录

修改并重新分享模板

随着您对应用的了解不断加深,业务需求不断变化,您可能需要更新应用模板。例如,您可能会决定通过添加 Memorystore 服务进行缓存来提高后端服务的性能。

修改模板时,您会创建模板修订版本。如需将更改应用到现有应用,开发者必须使用相应修订版本部署应用。

应用设计中心不会自动将模板修订版本发布到目录。如需共享最新修订版本,请再次将模板发布到目录。

如需创建新修订版本,请执行以下操作:

  1. 在导航菜单中,点击模板

    前往“模板”

  2. 选择要修改的应用模板。系统会打开画布。

  3. 修改模板以满足您的新要求。例如,添加和配置新组件。

  4. 如需与其他空间共享最新修订版本,请再次将模板添加到相关目录

后续步骤