创建并验证模板

本快速入门将帮助您创建和部署包含前端、后端和数据库组件的三层式 Web 应用模板。下图显示了设计画布,其中包含应用组件和连接。

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

您可以使用以下任一方式设计模板:

完成设计后,在 App Design Center 中部署测试应用,以验证模板。

准备工作

  1. 设置 App Design Center

  2. 已启用应用的文件夹创建部署项目

    部署应用时,您会将 Google Cloud 资源部署到此项目。

  3. 确保您的部署项目已启用结算功能

设置工具

您可以使用以下任一方式完成本快速入门。

  • 使用 Google Cloud 控制台中的设计画布。

  • 如需使用 Gemini Cloud Assist 创建设计,请参阅设置 Gemini Cloud Assist

  • 安装 Google Cloud CLI。

  • 配置 gcloud CLI 以使用您的联合身份。

    如需了解详情,请参阅使用联合身份登录 gcloud CLI

  • 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init

确保您拥有所需的角色

在开始本快速入门之前,请让您的管理员为您授予设计、构建和部署所需的必要角色,如下表所示:

任务 所需的角色
创建、设计和修改标准模板 App Design Center Admin (roles/designcenter.admin) 或 App Design Center User (roles/designcenter.user)
部署应用和配置 Application Admin (roles/designcenter.applicationAdmin) 或
Application Editor (roles/designcenter.applicationEditor)
在部署期间创建服务账号 在管理项目中创建服务账号 (roles/iam.serviceAccountCreator)
向服务账号授予对部署项目的访问权限 部署项目的 Project IAM Admin (roles/resourcemanager.projectIamAdmin)

如需详细了解角色,请参阅使用 IAM 进行访问权限控制

创建新模板并添加详细信息

设计画布

  1. 在 Google Cloud 控制台中,前往模板页面。

    前往“模板”

  2. 点击创建模板,然后输入以下详细信息:

    1. 模板 ID 字段中,输入 quickstart-three-tier-web-app

    2. 模板名称字段中,输入 Quickstart three-tier web app

    3. 说明字段中,输入 A template to generate a three-tier web application

    4. 点击创建模板

    系统会创建模板并显示设计画布。

  3. 组件区域中,点击以下组件以将其添加到设计画布:

    • Cloud Run(添加两个组件)
    • Cloud SQL (PostgreSQL)
  4. 如需在组件之间创建连接,请执行以下操作:

    1. cloud-run-1 底部的蓝点拖动到 cloud-run-2 顶部的蓝点。

    2. cloud-run-2 底部的蓝点拖动到 sql-postgresql-1 顶部的蓝点。

    您的模板包含三个组件。画布上会在组件之间显示线条以表示连接。

Gemini Cloud Assist

  1. 在 Google Cloud 控制台工具栏中,点击星光图标 打开或关闭 Gemini Cloud Assist 对话

    系统将打开 Cloud Assist 面板。

  2. 在 Gemini Cloud Assist 对话中,输入以下提示:

    I want to create a three-tier web application.
    

    Gemini Cloud Assist 会生成一个三层 Web 应用的基本设计。

  3. 如需移除负载平衡器和 Secret Manager 组件,请输入以下提示:

    I don't need load balancers or Secret Manager.
    

    Gemini Cloud Assist 会更新设计以移除组件。

  4. 查看更新后的设计,其中包含以下组件:

    • Cloud Run(两个组件)
    • Cloud SQL for PostgreSQL
  5. 点击修改应用设计

    系统会显示创建新模板页面。

  6. 输入以下模板详细信息:

    1. 模板 ID 字段中,输入 quickstart-three-tier-web-app

    2. 模板名称字段中,输入 Quickstart three-tier web app

    3. 说明字段中,输入 A template to generate a three-tier web application

  7. 点击创建模板

    系统会创建一个新模板并显示设计画布。

gcloud CLI

  1. 创建应用模板。

    gcloud design-center spaces application-templates create quickstart-three-tier-web-app \
    --display-name="Quickstart three-tier web app" \
    --description="A template to generate a three-tier web application" \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  2. 列出 Google 目录中的共享模板。

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    
    1. 确定 Cloud Run 和 Cloud SQL 的共享模板 ID。
  3. 添加一个 Cloud Run 组件以用作前端。

    gcloud design-center spaces application-templates components create cloud-run-1 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  4. 添加第二个 Cloud Run 组件作为后端。

    gcloud design-center spaces application-templates components create cloud-run-2 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  5. 添加 Cloud SQL 组件。

    gcloud design-center spaces application-templates components create sql-postgresql-1 \
    --application-template=quickstart-three-tier-web-app \
    --shared-template-revision-uri=google/45be1bc2-89bc-477b-9b5d-64c41ff3b146 \
    --space=SPACE \
    --location=us-central1 \
    --project=MANAGEMENT_PROJECT_ID
    
  6. 将 cloud-run-1 连接到 cloud-run-2。

     gcloud design-center spaces application-templates components connections create frontend-to-backend \
     --application-template=quickstart-three-tier-web-app \
     --component=cloud-run-1 \
     --destination-component-uri=cloud-run-2 \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    
  7. 将 cloud-run-2 连接到 sql-postgresql-1。

     gcloud design-center spaces application-templates components connections create backend-to-database \
     --application-template=quickstart-three-tier-web-app \
     --component=cloud-run-2 \
     --destination-component-uri=sql-postgresql-1 \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    
  8. 提交更改以创建应用模板修订版本。

     gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID
    

创建应用草稿

设计画布

  1. 在设计画布中,点击配置应用

  2. 点击创建新应用,然后执行以下操作:

    1. 名称字段中,输入 quickstart-three-tier-test

    2. 显示名称字段中,输入 Quickstart three-tier test

    3. 区域列表中,选择 us-central1 (Iowa)

    4. 环境列表中,选择 Test

    5. 严重性列表中,选择 Low

    6. 范围区域中,从应用范围列表中选择 Regional

  3. 点击创建应用

    系统会创建应用草稿。

gcloud CLI

  1. 确定应用模板的最新修订版本 URI。

     gcloud design-center spaces application-templates describe quickstart-three-tier-web-app \
     --space=SPACE \
     --location=us-central1 \
     --project=MANAGEMENT_PROJECT_ID \
     --format='yaml(name,latestRevision)'
    
  2. 根据模板创建应用草稿。

       gcloud design-center spaces applications create quickstart-three-tier-test \
       --space=SPACE \
       --location=us-central1 \
       --project=MANAGEMENT_PROJECT_ID \
       --source-application-template-revision=projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/revisions/TEMPLATE_REVISION \
       --display-name="Quickstart three-tier test" \
       --environment-type=test \
       --criticality-type=low \
       --scope-type=regional \
       --deployment-region=us-central1
    

配置组件

设计画布

  1. 在设计画布中,点击 cloud-run-1,然后在配置区域中执行以下操作:

    1. 项目 ID 列表中,选择您在准备工作中创建的部署项目。 资源将部署到此项目。

    2. 服务名称字段中,输入 frontend-service

    3. 点击保存

  2. 在设计画布中,点击 cloud-run-2,然后在