使用单个项目创建 App Hub 应用


本教程介绍如何在以下位置设置 App Hub 应用: 单个项目。在充当 App Hub 的服务项目中 则您需要部署一个负载均衡的代管式实例组 (MIG)。然后, 你可以将基础设施资源视为 App Hub 宿主项目。

本教程适用于设置和管理 App Hub。您应该有一定的了解 Cloud Load Balancing

目标

本教程介绍如何完成以下任务:

  1. 创建或选择 Google Cloud 项目。此项目是您的 App Hub 宿主项目。
  2. 使用 Terraform 部署 VPC 网络、区域级外部应用负载平衡器和 MIG 即负载均衡器的端点区域级外部应用负载平衡器 以下资源:

    • HTTP 健康检查
    • 转发规则
    • 网址映射
    • 目标代理
    • 将代管实例组用作后端的后端服务
    • SSL 证书(适用于 HTTPS)

    只有转发规则、网址映射、后端服务和 MIG 以 发现了 App Hub 上的资源。如需了解详情,请参阅 概念和数据模型

  3. 为宿主项目提供适当的角色和权限。

  4. 将 App Hub 宿主项目作为服务项目关联。

  5. 在 App Hub 宿主项目上创建一个应用。

  6. 探索作为 App Hub 服务的基础架构资源, 工作负载

  7. 将服务项目中的服务和工作负载注册到 并分配属性。

  8. 查看以下已注册的服务和工作负载的详细信息: App Hub。

费用

要估算 使用负载均衡的托管式虚拟机解决方案,请参阅 Google Cloud 价格计算器

使用估算值作为起点来计算部署费用。您可以修改估算值,以反映您计划对解决方案中使用的资源进行的任何配置更改。

系统会基于某些因素(包括以下因素)做出预先计算的估算:

  • 部署资源的 Google Cloud 位置。
  • 资源的使用时间。

如需详细了解 App Hub 费用,请参阅价格页面。

准备工作

如果您是项目创建者,则会被授予基本 Owner 角色 (roles/owner)。默认情况下,此 Identity and Access Management (IAM) 角色包含对大多数 Google Cloud 资源的完整访问权限。

如果您不是项目创建者,则必须获得项目的 将项目分配给相应的主账号。例如,主账号可以是 Google 账号(针对最终用户)或服务账号(针对应用和 工作负载)。

如需获得完成本教程所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

控制台

  1. 在 Google Cloud Console 中,转到项目选择器页面。

    转到“项目选择器”

  2. 选择或创建 Google Cloud 项目。 设为 App Hub 宿主项目。

  3. 启用所需的 API。

    启用 API

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 确保安装了最新版本的 Google Cloud CLI。运行 运行以下命令:

      gcloud components update

  3. 创建或选择新项目 HOST_PROJECT_ID, 设为 App Hub 的宿主项目

    • 创建 Google Cloud 项目:

      gcloud projects create HOST_PROJECT_ID
    • 选择您创建的 Google Cloud 项目:

      gcloud config set project HOST_PROJECT_ID
  4. 启用 API:

    gcloud services enable apphub.googleapis.com \
       cloudresourcemanager.googleapis.com \
       compute.googleapis.com \
       config.googleapis.com \
       serviceusage.googleapis.com
    

准备环境

为了减少您部署此解决方案所需的工作量,GitHub 中提供了 Terraform 配置。Terraform 配置定义了 解决方案所需的 Google Cloud 资源。 下载 Terraform 配置 根据需要自定义代码,然后使用 Terraform CLI部署解决方案后,您可以继续使用 Terraform 来管理解决方案。

<ph type="x-smartling-placeholder">
</ph> 具有负载均衡器和代管式实例组的 App Hub 工作负载和服务。
图 1.使用负载均衡器和代管式实例组的 App Hub 工作负载和服务。

以下是 负载均衡的代管式虚拟机解决方案部署。

  1. 用户向应用发出请求,该应用部署在 Compute Engine 上。Cloud Load Balancing 收到此请求。

  2. Cloud Load Balancing 将流量路由到 Compute Engine 使用转发规则、网址映射 和后端服务

设置 Terraform 客户端

您可以在 Cloud Shell 或本地主机上运行 Terraform。这个 本教程介绍了如何在 Cloud Shell 中运行 Terraform,它 预安装了 Terraform,并将其配置为向 Google Cloud 进行身份验证。

GitHub 代码库中提供了此解决方案的 Terraform 代码。

  1. 在 Cloud Shell 中,将 GitHub 代码库克隆到 Cloud Shell。

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. 在 Cloud Shell 中,检查当前工作目录是否为 terraform-docs-samples/lb/regional_external_http_load_balancer。这是包含此解决方案的 Terraform 配置文件的目录。如果您需要切换到该目录,请运行以下命令:

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. 通过运行以下命令来初始化 Terraform:

    terraform init
    

    等待系统显示以下消息:

    Terraform has been successfully initialized!
    

验证并查看 Terraform 配置

  1. 确保当前工作目录为 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,请转到该目录。

  2. 验证 Terraform 配置没有错误:

    terraform validate
    

    如果该命令返回任何错误,请在配置中进行所需的更正,然后再次运行 terraform validate 命令。重复此步骤,直到命令返回以下消息:

    Success! The configuration is valid.
    
  3. 查看配置中定义的资源:

    terraform plan
    

    terraform plan 命令的输出是在应用配置时 Terraform 预配的资源列表。

    如果要进行任何更改,请修改配置,然后再次运行 terraform validateterraform plan 命令。

预配资源

如果 Terraform 配置中不需要进一步更改,请部署资源。

  1. 确保当前工作目录为 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,请转到该目录。

  2. 应用 Terraform 配置:

    terraform apply
    

    Terraform 会显示将创建的资源列表。

  3. 当系统提示您执行操作时,请输入 yes

    Terraform 展示一些显示部署进度的消息。

    如果无法完成部署,则 Terraform 会显示导致失败的错误。查看错误消息,并更新配置以修复错误。然后,再次运行 terraform apply 命令。

    创建完所有资源后,Terraform 会显示以下消息:

    Apply complete!
    

等待 Terraform 显示“应用完成!”消息。

Cloud Load Balancing 将流量分配到转发 网址映射、后端服务和 Compute Engine MIG。后端 网址映射和转发规则 在 App Hub 宿主项目中发现的服务。通过 Compute Engine MIG 会成为 App Hub 宿主项目。

如果您不再需要该解决方案,可以将部署删除,以免继续为 Google Cloud 资源计费。如需了解详情,请参阅删除部署

授予 IAM 权限

向 App Hub 宿主项目。

控制台

  1. 获取完成此操作所需的权限 请让管理员授予您必要的权限 针对项目的 IAM 角色:

    1. 在 Google Cloud 控制台中,转到 IAM 页面。

      转到 IAM

    2. 点击授予访问权限。 此时会打开授予访问权限窗格。

    3. 新的主账号字段中,输入 负责管理 App Hub 在宿主项目中拥有 App Hub Admin 角色。

    4. 点击选择角色,然后在过滤条件字段中输入 App Hub.

    5. 选择 App Hub Admin 角色,然后点击保存

gcloud

  1. 将角色授予将负责管理的人员 App Hub,重复以下命令,替换 根据需要选择 IAM 角色。

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:HOST_PROJECT_ADMIN' \
        --role='roles/apphub.admin'

    HOST_PROJECT_ADMIN 替换为 在宿主项目中拥有 App Hub Admin 角色。该值包含 格式为 username@yourdomain,例如 robert.smith@example.com.

  2. 将服务项目中的 App Hub Admin 角色授予 管理 App Hub 的人员。它们必须具有 App Hub Admin 角色,可将服务项目添加到宿主项目 项目。对于每项服务,您至少需要一个拥有此角色的人员 项目。在此示例中,宿主项目充当服务项目。

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
       --member='user:HOST_PROJECT_ADMIN' \
       --role='roles/apphub.admin'

    SERVICE_PROJECT_ID 替换为 HOST_PROJECT_ID.

关联服务项目

将部署资源的宿主项目作为服务关联 项目。

控制台

  1. 在 Google Cloud 控制台中,前往 App Hub 设置 页面。

    前往“设置”

  2. 设置页面上,点击关联项目

  3. 在打开的窗格中,从显示的列表中搜索项目,然后 选中宿主项目对应的复选框。

  4. 点击选择Attached Service Project(s) 表显示所选的主机 作为服务项目。

  5. 点击关闭

gcloud

将您的宿主项目作为服务项目添加到 App Hub 托管项目

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

创建应用

创建一个应用,并将其作为您的服务和工作负载的容器。

控制台

  1. 确保您位于宿主项目中。
  2. 在 Google Cloud 控制台中,前往 App Hub 应用页面。

    打开“应用”

  3. 点击创建应用Create Application(创建应用)窗格显示 。

  4. 区域列表中,选择 us-west1

  5. Application Name 字段中,输入 tutorial-application

  6. 点击继续

  7. 添加属性部分中,输入显示名称sample-application.

  8. 重要性列表中,选择重要性表示 应用、服务或工作负载对业务的重要程度 operations.

  9. 环境字段中,用来指示软件所处的阶段 请选择正式版

  10. 点击继续

  11. 添加所有者部分中,添加以下详细信息 适用于开发者所有者运营商所有者企业主。 请注意,如果您要添加显示器,则必须输入所有者的电子邮件地址 名称。

    1. 输入所有者的显示名称。
    2. 输入所有者的电子邮件地址。该值必须具有 username@yourdomain 格式,例如 222larabrown@gmail.com
  12. 针对每个开发者、运营者和企业主重复上述步骤。

  13. 点击创建

新应用将创建完成,并列在应用页面上。

gcloud

  1. 选择您创建的宿主项目:

    gcloud config set project HOST_PROJECT_ID
  2. 创建名为 tutorial-application 的新应用 输入区域 us-west1,然后为其指定显示名称 Tutorial

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. 列出宿主项目中的应用。

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    您将看到类似如下所示的输出:

    ID: tutorial-application
    DISPLAY_NAME: Tutorial
    CREATE_TIME: 2023-10-31T18:33:48
    
  4. 使用 criticality-typeenvironment-type 和所有者属性:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    替换以下内容:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS: 开发者、运营商和企业主。
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS: 开发者、运营商和企业主。这些值必须 采用 username@yourdomain 格式,例如 222larabrown@gmail.com.

    注意:

    • criticality-type:指明应用的重要性 与您的业务运营息息相关
    • environment-type:表示软件的阶段 生命周期
  5. 获取您创建的应用的详细信息。

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    该命令以 YAML 格式返回类似于以下内容的信息:

    attributes:
    businessOwners:
    – displayName: [DISPLAY-NAME-BUSINESS]
      email: [EMAIL-BUSINESS]
    criticality:
      type: HIGH
    developerOwners:
    – displayName: [DISPLAY-NAME-DEVELOPER]
      email: [EMAIL-DEVELOPER]
    environment:
      type: PRODUCTION
    operatorOwners:
    – displayName: [DISPLAY-NAME-OPERATOR]
      email: [EMAIL-OPERATOR]
    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: Tutorial
    name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

注册服务和工作负载

注册服务和工作负载会将其添加到应用中。

控制台

  1. 在 Google Cloud 控制台中,前往 App Hub 应用页面。

    打开“应用”

  2. 点击应用的名称 sample-application。 系统随即会显示服务和工作负载标签页,其中包含已注册 管理服务项目中的服务和工作负载。

  3. 注册服务:

    1. 服务和工作负载标签页上,点击 注册服务/工作负载
    2. 注册服务或工作负载窗格的 选择服务或工作负载部分,选择所需服务或工作负载的名称 l7-xlb-backend-service,然后点击继续
    3. 添加属性部分中,输入属性的名称sample-service-backend.
    4. 输入显示名称 service-backend
    5. 重要性列表中,用于指明 请选择
    6. 环境字段中,用来指示软件所处的阶段 请选择正式版
    7. 点击继续
    8. 根据要求为开发者所有者添加以下详细信息, 运营商所有者企业主。请注意,您必须输入 所有者的电子邮件地址(如果您添加了显示名称)。
      1. 输入所有者的显示名称。
      2. 输入所有者的电子邮件地址。该值必须具有 username@yourdomain 格式,例如 222larabrown@gmail.com
    9. 针对每个开发者、运营者和企业主重复上述步骤。
    10. 点击注册

    服务和工作负载标签页上, 已注册的服务和工作负载部分,您可以看到新增的 服务已添加。

  4. 重复前面的步骤,将其他服务注册为 sample-service-forwarding-rulesample-service-url-map, 。

  5. 通过重复前面的步骤来注册工作负载,以注册工作负载 但以下情况除外:

    1. 注册服务或工作负载窗格的 选择服务或工作负载部分,选择所需服务或工作负载的名称 l7-xlb-backend-example,然后点击继续
    2. 添加属性部分中,输入属性的名称sample-workload.
    3. 输入显示名称 workload-instance-group

    服务和工作负载标签页上, 已注册的服务和工作负载部分,您可以看到新增的 已添加工作负载。

gcloud

  1. 添加拥有 App Hub Editor 权限的个人。

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    APP_HUB_EDITOR 替换为拥有 宿主项目中的 App Hub Editor 角色。该值包含 格式为 username@yourdomain,例如 robert.smith@example.com

  2. 列出宿主项目中发现的所有服务。此命令会返回 以及哪些服务可供应用注册

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    您将看到类似如下所示的输出:

    ID: 71dd6fa4-5644-43ee-918f-c5fda03ffe24
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: fe831ba4-ec16-4eb8-9ea4-b394fd30f561
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: 637a3216-c6cc-410e-8bf9-83b7ef66a62f
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    复制服务 ID,例如 71dd6fa4-5644-43ee-918f-c5fda03ffe24 以在下一步中使用。

  3. 将上一步中的服务注册到您的应用。复制 返回上一步输出字段中的服务 ID。

    gcloud apphub applications services create sample-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='service-backend' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='service-forwarding-rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='url-map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    替换以下内容:

    • BACKEND_SERVICE_IDID 的 您要注册的后端服务。
    • FORWARDING_RULE_SERVICE_IDID 的服务 您要注册的转发规则。
    • URL_MAP_SERVICE_ID:该网址的服务 ID 您想要注册的地图。
  4. 列出应用中所有已注册的服务。

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    您将看到类似如下所示的输出:

    ID: sample-service-backend
    DISPLAY_NAME: service-backend
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-forwarding-rule
    DISPLAY_NAME: service-forwarding-rule
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-url-map
    DISPLAY_NAME: url-map
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    已注册,但独立服务在 SERVICE_REFERENCE 字段。如需详细了解 注册状态,请参阅 App Hub 的属性

  5. 列出宿主项目中发现的所有工作负载。此命令会返回 可注册到应用的工作负载。

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    您将看到类似如下所示的输出:

    ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    

    从输出中复制工作负载 ID 以用于 下一步。

  6. 将上一步中的工作负载注册到应用 名称:sample-workload。从 输出字段。

    gcloud apphub applications workloads create sample-workload \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \
        --display-name='workload-instance-group' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    WORKLOAD_ID 替换为 您要注册的工作负载

  7. 列出应用中所有已注册的工作负载。

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    您将看到类似如下所示的输出:

    ID: sample-workload
    DISPLAY_NAME: workload-instance-group
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    已注册,但分离的工作负载在 WORKLOAD_REFERENCE 字段。如需详细了解 注册状态,请参阅 App Hub 的属性

查看所有服务和工作负载

您可以查看所有服务的服务和工作负载的详细信息 与宿主项目关联的项目

  1. 在 Google Cloud 控制台中,前往 App Hub 服务和工作负载页面。

    转到“服务和工作负载”

    关联服务项目中的所有服务和工作负载 。

  2. 区域列表中,选择 us-west1。 系统显示 workload-instance-group 工作负载的详细信息,例如 App Hub 类型重要性已注册到

  3. 如需根据服务或工作负载的状态过滤服务或工作负载,请执行以下操作:

    1. 过滤条件字段中,选择注册状态等过滤条件。
    2. 点击已注册。已注册的服务和工作负载的列表 。

清理

为避免因本教程中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。

删除 App Hub 资源

控制台

  1. 在 Google Cloud 控制台中,前往 App Hub 应用页面。

    打开“应用”

  2. 点击应用名称 sample-application

  3. 服务和工作负载标签页上,从 已注册的服务和工作负载部分,然后点击相应工作负载的名称 service-service-forwarding-rule

  4. 服务和工作负载页面上,点击取消注册

    一条提醒会通知您服务未注册。

  5. 服务和工作负载标签页上,从 已注册的服务和工作负载部分,然后点击相应工作负载的名称 工作负载 workload-instance-group

  6. 详细信息标签页上,点击取消注册

    一条提醒会通知您工作负载未注册。

  7. 前往 App Hub 应用页面。

    打开“应用”

  8. 点击应用的名称。

  9. tutorials-application 页面上,点击 Delete

  10. 在 Google Cloud 控制台中,前往 App Hub 设置 页面。

    前往“设置”

  11. 设置页面上,选中 要从宿主项目中移除的 SERVICE_PROJECT_ID

  12. 点击取消关联项目

gcloud

  1. 列出应用中已注册的服务:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. 从应用中取消注册服务:

    gcloud apphub applications services delete sample-service-backend \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-forwarding-rule \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-url-map \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    这些服务现在被发现可以注册到 应用。

  3. 列出应用中已注册的工作负载:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. 从应用中取消注册工作负载:

    gcloud apphub applications workloads delete sample-workload \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    该工作负载现在是一个已发现的工作负载,可以注册到 应用。

  5. 删除应用:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. 从宿主项目中移除服务项目:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

删除部署

如果不再需要该解决方案,为避免继续为您在此解决方案中创建的资源计费,请删除所有资源。

如果您使用 Terraform CLI 部署了解决方案,请按照以下步骤操作。

  1. 在 Cloud Shell 中,确保当前工作目录为 terraform-docs-samples/lb/regional_external_http_load_balancer。如果不是,请转到该目录。

  2. 移除 Terraform 预配的资源:

    terraform destroy
    

    Terraform 会显示将被销毁的资源列表。

  3. 当系统提示您执行操作时,请输入 yes

    Terraform 会显示显示进度的消息。删除所有资源后,Terraform 将显示以下消息:

    Destroy complete!
    

如果您不再需要用于解决方案的 Google Cloud 项目, 可以删除项目。

删除项目

<ph type="x-smartling-placeholder">

控制台

  1. 在 Google Cloud 控制台中,前往管理资源页面。

    转到“管理资源”

  2. 在项目列表中, 然后点击删除
  3. 在对话框中,输入项目 ID,然后点击 关停以删除项目。

gcloud

删除 Google Cloud 项目:

gcloud projects delete PROJECT_ID

PROJECT_ID 替换为 HOST_PROJECT_ID

后续步骤