设置 App Hub

本文档介绍了如何设置 App Hub 以 在 Google Cloud 上构建、运行和管理应用。时间是 适用于设置和管理 App Hub 的用户。

如果您要设置 App Hub,主要任务包括 如下:

  1. 决定是创建新的 App Hub 宿主项目,还是使用 将现有项目用作宿主项目。
    • 如果您打算拥有多个宿主项目,我们强烈建议您 在同一文件夹中创建它们
    • App Hub 中的宿主项目与 共享 VPC 宿主项目,并且没有相同的要求。 例如,您没有 需要共享 VPC 网络才能使用 App Hub。在本课中, 文档,所有对宿主项目的引用均指向 App Hub 托管项目
    • 宿主项目不能是自身以外的服务项目。
  2. 在宿主项目中启用 App Hub API。
  3. 将一个或多个 App Hub 服务项目添加到宿主项目。
    • App Hub 中的服务项目与 共享 VPC 服务项目,并且没有相同的要求。 在本文档中,所有提到服务项目的内容均 App Hub 服务项目。
  4. 将 App Hub 用户指定为 App Hub 管理员、App Hub Editor 或 App Hub 查看者。
  5. 创建应用。
  6. 将服务和工作负载注册到该应用。

服务和工作负载

使用 App Hub 时,连接到 宿主项目以服务和工作负载的形式提供给您正在注册 将服务和工作负载关联到应用后,您就可以观察和监控 资源。您可以将以下资源指定为 App Hub 服务,并将其注册到 App Hub 应用:

  • 转发规则
  • 网址映射
  • 后端服务

您可以将代管式实例组 (MIG)(而不是单个虚拟机)指定为 工作负载,并将其注册到 App Hub 应用。

App Hub 支持区域级 L7 外部和内部配置 具有 HTTP 或 HTTPS 流量的应用负载平衡器。

您注册的工作负载和服务必须与 应用;因此后面的说明和命令假定 资源位于同一区域如需了解您可以在哪些区域使用 请参阅地理位置

总体设置流程

以下列表总结了 App Hub 的设置步骤:

  1. 确定将哪些现有资源包含在您的 应用及其所属的项目
  2. 创建 App Hub 宿主项目并启用 项目中的 App Hub API。(可选)根据您的 企业的组织结构,请创建多个宿主项目。 如果您要创建多个项目,建议您在一个新文件夹中创建这些项目。
  3. 关联服务项目。配置宿主项目后, 具有应用所需的底层资源的服务项目, 托管项目请注意以下几点: <ph type="x-smartling-placeholder">
      </ph>
    1. 服务项目必须位于同一组织中 作为宿主项目将服务项目关联到主机后 项目,则无法将其移至其他组织。要移动 另一个组织,则必须遵循 本文档中的说明 移除或分离 服务项目连接到宿主项目。然后,您可以将 复制到另一个组织
    2. 一个服务项目不能关联到多个宿主项目。
    3. 宿主项目可以是自己的服务项目,但不能是 其他宿主项目的“Service”项目。
    4. 将服务项目关联到宿主项目后,查询宿主项目 会自动返回所有服务和工作负载 所有服务项目中的工作负载
  4. 创建用于整理多个工作负载和服务的应用。请注意以下事项:
    1. 确保应用的名称在宿主项目中是唯一的 和位置。
    2. 服务项目可以关联到包含多个应用的宿主项目,但 每个资源只能注册到一个应用。
  5. 查询服务和工作负载,并将其注册到您的应用。 创建应用后,您可以查询宿主项目 服务和工作负载。这些查询会针对宿主项目 与宿主项目关联的服务项目。它们还会返回 这些项目中的服务和工作负载请注意以下几点: <ph type="x-smartling-placeholder">
      </ph>
    1. 您只能将一项服务或工作负载注册到单个应用。
    2. 您注册的任何工作负载和服务都必须位于同一区域 应用
    3. 已注册的服务和工作负载 底层基础设施资源换言之,如果您删除 充当服务和工作负载的底层资源, App Hub 不会删除关联的工作负载, 应用。您必须单独取消注册 工作负载或服务

前提条件

在设置 App Hub 之前,请先完成以下任务。

  1. 确定将哪个现有项目设为宿主项目,或创建一个新项目 是宿主项目。我们强烈建议您创建一个新项目。
  2. 确保您已决定哪些人拥有 Identity and Access Management (IAM) App Hub 的以下角色:App Hub Admin、 App Hub Editor 和 App Hub Viewer。

请注意以下几点:

  • 宿主项目可以关联一个或多个服务项目。
  • 一个服务项目不能关联到多个宿主项目。
  • 将服务项目关联到宿主项目的人员必须具有 两项服务中 IAM 角色 App Hub Admin 项目和宿主项目。如需了解详情,请参阅 App Hub 角色和权限

设置 App Hub

在本部分中,您将创建一个示例 App Hub 架构。

在本示例中,一个组织有三个服务项目, 项目中部署的基础架构资源,如下所示:

  • 服务项目 1 有两个基础架构资源,即服务 1 和服务 2。
  • 服务项目 2 有三个基础架构资源:服务 3、工作负载 1、 工作负载 2.
  • 服务项目 3 有三项基础设施资源:服务 4、工作负载 3 工作负载 4.

请确保您选择用于创建示例的项目包含 也可以随时根据自己的需求调整示例, 请仔细阅读说明

以下各部分包含有关创建 App Hub 示例。创建宿主项目并添加服务 将多个项目关联到宿主项目,然后创建一个应用并关联服务和 将工作负载传输到应用本例中有三个服务项目 可以减少或增加

此示例假定您添加的所有服务项目都已存在,并且它们 包含您添加到应用中的服务和工作负载。在您之前 创建示例,确定哪些服务项目包含这些服务, 工作负载。

启用 App Hub

在本部分中,您需要选择或创建新的宿主项目,启用 App Hub API,并向组织授予适当的角色和权限, 组织中的个别成员。您还需要将服务项目连接到宿主项目 项目。

控制台

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

    转到“项目选择器”

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

  3. 启用所需的 API。

    启用 API

  4. 如果您是项目创建者,则会获得 基本 Owner 角色 (roles/owner).默认情况下,此 Identity and Access Management (IAM) 具备对大多数角色的完全访问权限 Google Cloud 资源。

    如果您不是项目创建者,则必须授予所需权限 针对项目的相应主账号。例如, 主账号可以是 Google 账号(对于最终用户)或服务账号 (针对应用和计算工作负载)。 要获取完成本教程所需的权限,请询问您的 管理员为您授予项目的以下 IAM 角色:

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

      转到 IAM

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

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

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

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

    6. 在每个 App Hub 服务项目中,授予 向同一用户授予 App Hub Admin 角色。

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

    前往“设置”

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

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

    • 从项目列表中,选中您要创建的项目所对应的复选框 希望添加为服务项目的服务项目。
    • 搜索项目,然后选择要添加为服务的项目 项目。
  8. 点击选择Attached Service Project(s) 表显示所选服务 项目。

  9. 点击关闭

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. 在您刚刚创建的宿主项目中启用 App Hub API 创建。

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. 如果您是项目创建者,则会获得 基本 Owner 角色 (roles/owner).默认情况下,此 Identity and Access Management (IAM) 具备对大多数角色的完全访问权限 Google Cloud 资源。

    如果您不是项目创建者,则必须授予所需权限 针对项目的相应主账号。例如, 主账号可以是 Google 账号(对于最终用户)或服务账号 (针对应用和计算工作负载)。 要获取完成本教程所需的权限,请询问您的 管理员为您授予项目的以下 IAM 角色:

    1. (可选)授予将负责管理的人员 App Hub,即 App Hub 管理员角色。对 。

      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_1 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_2 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_3 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      替换以下内容:

      • SERVICE_PROJECT_1:第 1 个,共三个 多个服务项目。
      • SERVICE_PROJECT_2:第 2 个(共 3 个) 多个服务项目。
      • SERVICE_PROJECT_3:第三个,共三个 多个服务项目。
  6. 将您的服务项目添加到 App Hub 宿主项目中。

    gcloud apphub service-projects add SERVICE_PROJECT_1 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3 \
        --project=HOST_PROJECT_ID
    

创建应用

如果您还没有应用,请创建一个应用,作为 服务和工作负载。

控制台

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

    打开“应用”

  3. 点击创建应用。此时会显示 Create application 窗格。 。

  4. 选择区域

  5. 输入 Application name,然后点击 Continue

  6. 添加属性部分中,输入显示名称

  7. (可选)在字段中添加应用的更多详细信息 紧随其后。有关详情,请参阅本文档中 更新现有 App Hub 应用

  8. 点击创建

gcloud

  1. 创建名为 APPLICATION_NAME 并为其指定一个显示名称 APPLICATION_DISPLAY_NAME. --scope-type标志定义了哪些服务和 工作负载可以注册到应用。仅支持 REGIONAL, 这意味着 才能被注册

    gcloud apphub applications create APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --scope-type=REGIONAL \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    替换以下内容:

    • APPLICATION_NAME:应用的名称。 名称只能包含小写字母数字字符,不包括 空格。
    • APPLICATION_DISPLAY_NAME: 部署应用
    • REGION:应用的区域。给出这个 值 us-east1
  2. 列出宿主项目中的应用。

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    输出类似于以下内容:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    
  3. 获取您创建的应用的详细信息。

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

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

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

更新现有 App Hub 应用

您也可以在应用 创建。

控制台

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

    打开“应用”

  2. 在应用列表中,点击 Edit(修改)。

  3. 根据需要修改字段,然后点击保存

  4. 可选:在重要性列表中,用于指明 请选择以下选项之一:

    • 任务关键型
  5. 可选:在环境字段中,用于指明 软件生命周期,请选择以下选项之一:

    • 生产
    • 预演
    • 开发
    • 测试
  6. 可选:根据要求为开发者所有者添加以下详细信息。 运营商所有者企业主。请注意,您必须输入 所有者的电子邮件地址(如果您添加了显示名称)。

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

  8. 点击保存

gcloud

  1. 使用 criticality-typeenvironment-type 以及所有者类型属性:

    gcloud apphub applications update APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    替换以下内容:

    • CRITICALITY_LEVEL:表示 与业务运营息息相关 请提供下列值之一: <ph type="x-smartling-placeholder">
        </ph>
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT:表示 软件生命周期请提供下列值之一: <ph type="x-smartling-placeholder">
        </ph>
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS: 开发者、运营商和企业主。
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS: 开发者、运营商和企业主。这些值 必须采用 username@yourdomain 格式,例如 222larabrown@gmail.com.
  2. 列出属性 environment-type 具有 值 PRODUCTION

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    输出类似于以下内容:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    

注册服务和工作负载

向应用注册基础架构服务和工作负载时, 服务和工作负载注册为 App Hub 资源。如果 您可以使用占位符来创建应用 gcloud CLI,三个服务项目中的服务和工作负载 如下:

  • 服务项目 1 有两个基础架构资源,即服务 1 和服务 2。
  • 服务项目 2 有三个基础架构资源:服务 3、工作负载 1、 工作负载 2.
  • 服务项目 3 有三项基础设施资源:服务 4、工作负载 3 工作负载 4.

控制台

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

    打开“应用”

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

  3. 对于您要注册的每项服务或工作负载,请执行以下操作:

    1. 服务和工作负载标签页上,点击 注册服务/工作负载
    2. 注册服务或工作负载窗格的 选择服务或工作负载部分,选择服务或工作负载 然后点击继续
    3. 添加属性部分中,输入服务的名称,或 工作负载
    4. (可选)在字段中为服务或工作负载添加更多详细信息 紧随其后。有关详情,请参阅本文档中 更新现有 App Hub 应用。 请注意,您必须为 重要性环境字段,但值可以是 与您在创建应用时设置的值不同。
    5. 点击注册服务和工作负载标签页会显示已注册的服务或 工作负载如需详细了解注册状态,请参阅 App Hub 的属性

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. 列出从服务项目 2 中发现的工作负载,该项目连接到 托管项目此命令会返回 注册到应用

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    输出类似于以下内容,其中包括未注册的 MIG:

    ID: [DISCOVERED_WORKLOAD_ID_1]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    
    ID: [DISCOVERED_WORKLOAD_ID_2]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

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

  3. 将上一步中的工作负载注册到应用。

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    替换以下内容:

    • WORKLOAD_NAME:用于注册 工作负载。
    • DISCOVERED_WORKLOAD_ID_2:来自以下对象的工作负载 ID 上一步的输出。
  4. 重复前两个步骤以过滤和注册您需要的工作负载 。

  5. 可选:您可以使用 criticality-type 更新工作负载, environment-type和所有者属性。

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    请注意,您必须为 criticality-typeenvironment-type,但值可以是 与您在创建应用时设置的值不同。

  6. 列出应用中已注册的工作负载。

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    输出类似于以下内容:

    ID: WORKLOAD_NAME
    DISPLAY_NAME: mywebserver-deployment1
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    CREATE_TIME: 2023-10-31T18:34:23
    

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

  7. 列出服务项目 1 中已发现的具有转发规则的服务 已关联到宿主项目此命令会返回 可供应用注册

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    输出类似于以下内容:

    ID: [DISCOVERED_SERVICE_ID_1]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    
    ID: [DISCOVERED_SERVICE_ID_2]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    从输出中复制服务 ID DISCOVERED_SERVICE_ID_2 以便在其中使用 下一步。

  8. 在服务中注册转发规则 testing-forwarding-rule-2 项目 1 即服务

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    替换以下内容:

    • SERVICE_NAME:用于注册 服务。
    • DISCOVERED_SERVICE_ID_2:来自 上一步的输出。
  9. 重复前面的步骤,列出服务,过滤这些服务,然后 在服务项目 1、2 和 3 中注册服务。

  10. 使用 criticality-type 属性和 environment-type 属性。

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. 列出在 APPLICATION_NAME 应用 HOST_PROJECT_ID 托管项目

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    对于每项服务,输出类似于以下内容:

    ID: SERVICE_NAME
    DISPLAY_NAME: mywebserver-service1
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    CREATE_TIME: 2023-11-01T21:38:08
    

    已注册,但独立服务在 SERVICE_REFERENCE 字段。

  12. 过滤 APPLICATION_NAME 应用和HOST_PROJECT_ID 宿主项目映射到 environment-type 属性设为 PRODUCTION

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

App Hub 设置流程已完成。

添加或移除服务项目

您可以修改服务项目连接以构建不同的基础架构 可组合到应用中的资源

控制台

如需将服务项目添加到宿主项目,请执行以下操作:

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

    前往“设置”

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

  3. 在打开的窗格中,从显示的列表中搜索项目,然后 选中要添加为服务的项目所对应的复选框 项目。

  4. 点击选择Attached Service Project(s) 表显示选定的项目 用作宿主项目的服务项目。

  5. 点击关闭

如需从宿主项目中移除服务项目,请执行以下操作:

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

    前往“设置”

  2. 设置页面上,选中所需项目所对应的复选框 移除为服务项目。

  3. 点击取消关联项目。 系统会刷新 Attached Service Project(s) 表,以仅显示 与宿主项目始终关联的其他项目

gcloud

如需将服务项目添加到宿主项目,请执行以下操作:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
SERVICE_PROJECT_ID 替换为 服务项目。 如需从宿主项目中移除服务项目,请执行以下操作:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

查看现有的应用、服务和工作负载

您可以查看项目中的应用,以及列出 应用。

控制台

  • 如需查看项目中的应用,请在 Google Cloud 控制台中前往 App Hub 应用页面。

    打开“应用”

  • 如需列出服务和工作负载,请执行以下操作:

    应用

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

      打开“应用”

    2. 点击应用的名称。 一个页面,其中列出了注册到您的 应用。

    3. 可选:如需过滤服务或工作负载,请执行以下操作:

      1. 过滤条件字段中,选择一个过滤条件,例如重要性
      2. 选择作为值。
        具有高度重要性的服务和工作负载列表, 注册到应用的消息。

    服务和工作负载

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

      转到“服务和工作负载”

    2. 区域列表中,选择要从哪个区域迁移 查看服务和工作负载例如,选择 us-east1
      服务和工作负载页面显示了所有服务和工作负载 工作负载关联的服务项目中的 us-east1

    3. 可选:如需过滤服务或工作负载,请执行以下操作:

      1. 过滤条件字段中,选择一个过滤条件,例如环境
      2. 选择正式版作为值。
        生产环境中的服务和工作负载列表, 注册到应用后出现。

gcloud

如需查看项目中的应用,请执行以下操作:

gcloud apphub applications list \
    --project=HOST_PROJECT_ID \
    --location=REGION

如需列出应用中已注册的服务,请执行以下操作:

gcloud apphub applications services list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

如需列出应用中已注册的工作负载,请执行以下操作:

gcloud apphub applications workloads list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

清理

清理现有应用并从中移除服务项目连接 宿主项目以移除与该项目关联的资源。这样可以阻止 自动发现服务项目中的资源。

为此,您必须先删除 应用。

控制台

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

    打开“应用”

  2. 点击应用的名称。 系统会显示已注册到该应用的服务和工作负载列表。

  3. 取消注册服务或工作负载。

    1. 服务和工作负载标签页上,从 已注册的服务和工作负载部分,然后点击相应工作负载的名称 要取消注册的服务或工作负载。
    2. 详细信息标签页上,点击取消注册以更新服务,或者 工作负载视为已发现资源。
      服务和工作负载标签页上,您会看到一条提醒,通知 工作负载未注册。
    3. 针对每项服务和工作负载重复这些说明。
  4. 前往 App Hub 应用页面。

    打开“应用”

  5. 点击应用的名称。

  6. 在包含应用详细信息的页面上,点击删除

  7. 在本文档中,请按照 添加或移除服务项目以移除 从宿主项目中移除服务项目。

gcloud

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

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. 从应用中取消注册工作负载:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

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

  3. 重复上一条命令,删除剩余的已注册工作负载 。

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

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. 从应用中取消注册该服务:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    该服务现在是已发现的服务,可以注册到 应用。

  6. 重复上一条命令,取消注册剩余的已注册设备 服务

  7. 删除应用:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. 从宿主项目中移除服务项目:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. 重复上一条命令,从宿主项目中移除所有服务项目 项目。

后续步骤