修改启用应用的文件夹中的 App Hub 资源

您可以使用 Google Cloud 控制台或者终端或 Cloud Shell 中的 Google Cloud CLI,在已启用应用功能的文件夹中列出、查看、更新和删除 App Hub 资源。

前提条件

在修改 App Hub 资源之前,请完成以下任务:

  1. 按照前提条件设置 App Hub。
  2. 根据您要修改的资源类型,确保您已运行相关步骤来设置 App Hub。如需了解详情,请参阅设置 App Hub

所需的角色

如需获得修改应用中心资源所需的权限,请让管理员向您授予已启用应用的文件夹的以下 IAM 角色:

  • 如需创建和更新应用、注册和取消注册服务和工作负载,以及更新关联的属性,请执行以下操作:
  • 如需查看应用、服务和工作负载及其属性,请授予以下角色:App Hub Viewer (roles/apphub.viewer)
  • 如需查看支持应用管理的 Google Cloud 服务中的应用、服务和工作负载及其属性,您需要以下角色: App Hub Management Viewer (roles/apphub.appManagementViewer)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

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

列出应用

您可以在启用应用功能的文件夹中列出和过滤应用。

控制台

  1. 如需查看已启用应用的文件夹中的应用,请在Google Cloud 控制台中前往 App Hub 应用页面。

    打开“应用”

    您会看到一个应用列表。

  2. 如需过滤应用,请执行以下操作:

    1. 过滤条件字段中,选择一个过滤条件,例如严重程度
    2. 为过滤条件指定值。例如,如需显示严重程度较高的应用,请选择作为值。
      系统会显示与指定过滤条件匹配的应用列表。

gcloud

  1. 如需查看已启用应用的文件夹中的应用,请执行以下操作:

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

    替换以下内容:

    • MANAGEMENT_PROJECT_ID:您的管理项目的 ID。 您可以在 Google Cloud 控制台的“Identity and Access Management (IAM) 和管理”设置页面上找到您的管理项目 ID。如果您找不到管理项目 ID,则可能不在已启用应用的文件夹中。在范围选择器(或项目选择器)中,选择已启用应用的文件夹。如需详细了解如何为文件夹启用应用管理,请参阅启用应用管理
    • REGION:应用的区域。 根据应用的 --scope-type,为此字段提供值 global 或应用的区域,例如 us-east1。如需详细了解如何为应用设置 --scope-type,请参阅创建应用
  2. 如需根据变量属性过滤应用,请使用 --filter 标志。例如,如需列出所有将 environment-type 属性设置为 PRODUCTION 的应用,请执行以下操作:

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

查看申请

您可以在已启用应用的文件夹中描述应用。

控制台

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

    打开“应用”

  2. 在应用列表中,点击要详细了解的应用。

  3. 点击详细信息标签页以显示应用的详细信息。

gcloud

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

APPLICATION_NAME 替换为应用的名称。名称只能包含不含空格的小写字母数字字符。

更新 App Hub 应用

您可以在创建应用后更新应用的属性。

控制台

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

    打开“应用”

  2. 在应用列表中,点击您要更新的应用对应的 修改

  3. 根据需要修改字段。

  4. 点击保存

gcloud

  1. 使用 criticality-typeenvironment-type 和所有者类型属性更新您的应用:

    gcloud apphub applications update APPLICATION_NAME \
        --display-name='APPLICATION_DISPLAY_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=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

    替换以下内容:

    • APPLICATION_NAME:应用的名称。 名称只能包含不含空格的小写字母数字字符。
    • REGION:应用的区域。

    您可以更新以下任意一项:

    • APPLICATION_DISPLAY_NAME:表示应用的显示名称。
    • CRITICALITY_LEVEL:表示应用、服务或工作负载对业务运营的重要性。 请提供以下值之一:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT:表示软件生命周期的各个阶段。请提供以下值之一:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPERDISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS:分别表示开发者、运营商和企业主的显示名称。
    • EMAIL-NAME-DEVELOPEREMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS:分别是开发者、运营商和企业主的电子邮件地址。这些值必须采用 username@yourdomain 格式,例如 222larabrown@gmail.com

    例如:

    gcloud apphub applications update my-application \
        --criticality-type='MEDIUM' \
        --environment-type='STAGING' \
        --developer-owners=display-name=developer-name,email=username@yourdomain \
        --project=google-mpf-FOLDER-ID \
        --location=us-east1
    

查看服务和工作负载

您可以查看、列出和过滤应用中的服务和工作负载。

控制台

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

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

      前往“服务和工作负载”

    2. 区域列表中,选择您要查看服务和工作负载的区域。例如,选择 us-east1
      服务和工作负载页面会显示与 us-east1 关联的附加服务项目中的所有服务和工作负载。

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

    1. 过滤条件字段中,选择一个过滤条件,例如环境
    2. 为过滤条件指定值。例如,如需查看生产环境中的服务和工作负载,请选择 Production 作为值。
      系统会显示与指定过滤条件匹配的服务和工作负载列表。

gcloud

列出已发现的服务

发现的服务可注册到应用。

  1. 如需列出已发现的服务,请执行以下操作:

    gcloud apphub discovered-services list \
        --project=MANAGEMENT_PROJECT_ID \
        --location=REGION

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

    ID                      SERVICE_REFERENCE                                                                                                                   SERVICE_PROPERTIES
    [DISCOVERED_SERVICE_ID] {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 可选:过滤发现的服务列表。例如,如需过滤应用启用文件夹中具有转发规则的已发现服务,请执行以下操作:

    gcloud apphub discovered-services list \
        --filter='service_reference.uri~"forwardingRules"' \
        --project=MANAGEMENT_PROJECT_ID \
        --location=REGION

列出已注册的服务

列出并过滤应用中已注册的 App Hub 服务。

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

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

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

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

    已注册,但分离的服务在 SERVICE_REFERENCE 字段中以空值表示。

  2. 可选:过滤已注册的服务列表。例如,如需过滤应用中 environment-type 属性设置为 PRODUCTION 的已注册服务,请执行以下操作:

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

列出发现的工作负载

已发现的工作负载可注册到应用。

  1. 如需列出发现的工作负载,请执行以下操作:

    gcloud apphub discovered-workloads list \
        --project=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

    您将看到类似如下所示的输出,其中包含未注册的 MIG:

    ID                        WORKLOAD_REFERENCE                                                                                                   WORKLOAD_PROPERTIES
    [DISCOVERED_WORKLOAD_ID]  {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/instanceGroups/testing-mig'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. 可选:过滤发现的工作负载列表。例如,如需过滤已发现的工作负载列表,以仅显示已启用应用的文件夹中的计算资源,请执行以下操作:

    gcloud apphub discovered-workloads list \
        --filter='workload_reference.uri~"compute"'
        --project=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

列出已注册的工作负载

列出并过滤应用中已注册的 App Hub 工作负载。

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

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

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

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

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

  2. 可选:过滤已注册的工作负载列表。例如,如需过滤应用中 environment-type 属性设置为 PRODUCTION 的工作负载,请执行以下操作:

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

更新服务和工作负载

您可以更新已注册到应用的服务和工作负载。

控制台

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

    打开“应用”

  2. 点击应用的名称。
    系统会显示服务和工作负载标签页,其中列出了服务项目中的已注册服务和工作负载。

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

    1. 服务和工作负载标签页上,找到要更新的服务或工作负载,点击 more_vert,然后点击 修改服务修改工作负载
    2. 修改服务修改工作负载窗格中,根据需要修改字段,然后点击保存

gcloud

  1. 使用 criticality-typeenvironment-type 和所有者类型属性更新您的服务:

    gcloud apphub applications services update SERVICE_NAME \
        --application=APPLICATION_NAME \
        --display-name='SERVICE_DISPLAY_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=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

    SERVICE_NAME 替换为 App Hub 服务的名称。

    您可以更新以下任意一项:

    • SERVICE_DISPLAY_NAME:表示服务的显示名称。
    • CRITICALITY_LEVEL:表示应用、服务或工作负载对业务运营的重要性。 请提供以下值之一:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT:表示软件生命周期的各个阶段。请提供以下值之一:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPERDISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS:分别表示开发者、运营商和企业主的显示名称。
    • EMAIL-NAME-DEVELOPEREMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS:分别是开发者、运营商和企业主的电子邮件地址。这些值必须采用 username@yourdomain 格式,例如 222larabrown@gmail.com

    例如:

    gcloud apphub applications workloads update my-application \
        --criticality-type='MEDIUM' \
        --environment-type='STAGING' \
        --developer-owners=display-name=developer-name,email=username@yourdomain \
        --project=google-mpf-FOLDER-ID \
        --location=us-east1
    
  2. 使用 criticality-typeenvironment-type 和所有者类型属性更新工作负载:

    gcloud apphub applications workloads update WORKLOAD_NAME \
        --application=APPLICATION_NAME \
        --display-name='WORKLOAD_DISPLAY_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=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

    WORKLOAD_NAME 替换为 App Hub 工作负载的名称。

    您可以更新以下任意一项:

    • WORKLOAD_DISPLAY_NAME:表示服务的显示名称。
    • CRITICALITY_LEVEL:表示应用、服务或工作负载对业务运营的重要性。 请提供以下值之一:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT:表示软件生命周期的各个阶段。请提供以下值之一:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPERDISPLAY-NAME-OPERATORDISPLAY-NAME-BUSINESS:分别表示开发者、运营商和企业主的显示名称。
    • EMAIL-NAME-DEVELOPEREMAIL-NAME-OPERATOREMAIL-NAME-BUSINESS:分别是开发者、运营商和企业主的电子邮件地址。这些值必须采用 username@yourdomain 格式,例如 222larabrown@gmail.com

    例如:

    gcloud apphub applications workloads update my-application \
        --criticality-type='MEDIUM' \
        --environment-type='STAGING' \
        --developer-owners=display-name=developer-name,email=username@yourdomain \
        --project=google-mpf-FOLDER-ID \
        --location=us-east1
    

删除应用、服务和工作负载

删除现有应用以移除与已启用应用的文件夹关联的已注册资源。为此,您必须先取消注册已注册到该应用的工作负载和服务。

控制台

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

    打开“应用”

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

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

    1. 服务和工作负载标签页的已注册的服务和工作负载部分中,点击要取消注册的服务或工作负载的名称。
    2. 在打开的已注册服务或工作负载的页面上,点击取消注册,将服务或工作负载更新为已发现的资源。 在服务和工作负载标签页中,系统会显示一条提醒,告知您相应工作负载已取消注册。
    3. 针对每项服务和工作负载重复这些说明。
  4. 前往 App Hub 的应用页面。

    打开“应用”

  5. 点击应用的名称。

  6. 在显示应用详情的页面上,点击删除

gcloud

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

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

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

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

  3. 重复执行上一个命令,以从应用中取消注册所有剩余的已注册服务。

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

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

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

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

  6. 重复执行上一个命令,以从应用中删除所有剩余的已注册工作负载。

  7. 删除应用:

    gcloud apphub applications delete APPLICATION_NAME \
        --project=MANAGEMENT_PROJECT_ID \
        --location=REGION
    

后续步骤