管理 App Hub 应用

借助 App Hub,您可以查看已注册的应用、更新其属性以及删除应用,从而确保应用清单准确无误。为避免配置偏差,请仅使用 App Hub 更新或删除您直接注册的应用,并在 Application Design Center 中管理基于模板的应用。

概览

选择应用设置模型时,您需要在管理项目中为 App Hub 应用定义应用管理边界。然后,您可以在此边界内的应用中注册服务和工作负载。

如需了解引入应用管理实践的推荐应用场景,请参阅准备应用管理。如需创建应用并注册资源,请参阅向应用注册现有资源。

为避免配置偏移并保持清晰的可靠来源,我们建议您在最初定义应用组件的环境中管理这些组件:

  • 对于通过 Application Design Center 模板部署的应用:使用 Application Design Center 管理和更新应用。您可以修改模板以更改应用设计,也可以创建应用修订版本来更新应用和组件详细信息等设置。

    前往 App Design Center

  • 对于通过在 App Hub 中注册现有资源而创建的应用:直接在 App Hub 中管理应用、服务和工作负载。

    前往 App Hub

在 App Hub 中,您可以使用Google Cloud 控制台或 Google Cloud CLI 执行这些操作。对于根据模板部署的应用,请参阅 Application Design Center 文档。

准备工作

本文档假定您有一个应用,其中注册了受支持的资源。

所需的角色

如需获得在 App Hub 中管理应用所需的权限,请让管理员向您授予定义应用管理边界的管理项目的以下 IAM 角色:

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

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

如需详细了解 App Hub 角色,请参阅 App Hub IAM 角色和权限。

列出应用

如需列出并过滤应用管理边界内的所有应用,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

  2. 从 App Hub 前往应用页面:

    打开“应用”

    该页面会显示您的应用列表。

  3. 如需过滤列表,请使用过滤条件字段。您可以按重要性或环境等属性进行过滤。

gcloud

  1. 查找管理项目的项目 ID。

  2. 使用以下任一选项显示应用列表:

    • 列出所有应用:

      gcloud apphub applications list \
          --project=PROJECT_ID \
          --location=LOCATION
      

      替换以下内容:

      • PROJECT_ID:管理项目的 ID。
      • LOCATION:应用的位置。对于全球应用,请使用 global;对于区域应用,请使用特定区域(例如 us-east1)。
    • 使用 --filter 标志根据属性过滤应用列表:

      gcloud apphub applications list \
          --project=PROJECT_ID \
          --location=LOCATION \
          --filter=FILTER_EXPRESSION \
      

      替换以下内容:

      • PROJECT_ID:管理项目的 ID。
      • LOCATION:应用的位置。对于全球应用,请使用 global;对于区域应用,请使用特定区域(例如 us-east1)。
      • FILTER_EXPRESSION:用于指定属性的过滤表达式。例如,如需列出环境类型为 PRODUCTION 的所有应用,请使用 attributes.environment.type=PRODUCTION。

查看应用详情

请按照以下步骤查看特定应用的详细信息,包括其属性和元数据:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

  2. 从 App Hub 前往应用页面:

    打开“应用”

    该页面会显示您的应用列表。

  3. 点击您要查看的应用的名称。

    系统会显示应用的详细信息标签页。

gcloud

  1. 查找管理项目的项目 ID。

  2. 描述应用:

    gcloud apphub applications describe APPLICATION_NAME \
        --project=PROJECT_ID \
        --location=LOCATION
    

    替换以下内容:

    • APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。
    • PROJECT_ID:管理项目的 ID。
    • LOCATION:应用的位置。对于全球应用,请使用 global;对于区域应用,请使用特定区域(例如 us-east1)。

更新应用属性

如需在应用创建后修改其属性,请按以下步骤操作。服务和工作负载也可以在注册期间使用相同的应用属性。

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

  2. 从 App Hub 前往应用页面:

    打开“应用”

    该页面会显示您的应用列表。

  3. 对于要更新的应用,点击 修改。

  4. 在修改应用窗格中,根据需要修改字段。

  5. 点击保存。

gcloud

  1. 查找管理项目的项目 ID。

  2. 更新应用属性。您可以更新任何可变属性,例如 display-name、criticality-type、environment-type 和所有者:

    gcloud apphub applications update APPLICATION_NAME \
        --project=PROJECT_ID \
        --location=LOCATION \
        --display-name=DISPLAY_NAME \
        --criticality-type=CRITICALITY_LEVEL \
        --environment-type=ENVIRONMENT \
        --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
        --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
        --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    替换以下内容:

    • 必需:APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。
    • 必需:PROJECT_ID:管理项目的 ID。
    • 必需:LOCATION:应用的位置。对于全球应用,请使用 global;对于区域应用,请使用特定区域(例如 us-east1)。
    • 可选:DISPLAY_NAME:应用的显示名称。
    • 可选:CRITICALITY_LEVEL:应用的重要性级别。请使用以下某个值:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 可选:ENVIRONMENT:软件生命周期的阶段。请使用以下某个值:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 可选:DEV_NAME 和 DEV_EMAIL:分别为开发者所有者的显示名称和电子邮件地址。

    • 可选:OPERATOR_NAME 和 OPERATOR_EMAIL:分别是运营商所有者的显示名称和电子邮件地址。

    • 可选:BUSINESS_NAME 和 BUSINESS_EMAIL:分别为企业主的显示名称和电子邮件地址。

Terraform

如需使用 Terraform 更新应用属性,请修改配置文件中 google_apphub_application 资源块内的参数。应用更改后,Terraform 会更新应用,使其与新配置保持一致。

以下示例更新了 us-central1 中区域应用的 criticality 和 environment 属性:

resource "google_apphub_application" "example" {
    project        = "my-project-id"
    location       = "us-central1"
    application_id = "my-application"
    display_name   = "My Application"
    description    = "This application represents our platform."
    attributes {
        criticality {
            type = "HIGH" # Updated criticality
        }
        environment {
            type = "PRODUCTION"
        }
        # ... other attributes
    }
}

删除应用

您必须先取消注册应用的所有服务和工作负载,然后才能删除应用。然后,按照以下步骤删除应用:

控制台

  1. 在 Google Cloud 控制台中,使用项目选择器选择管理项目。

  2. 从 App Hub 前往应用页面:

    打开“应用”

    该页面会显示您的应用列表。

  3. 点击要删除的应用的名称。

  4. 前往服务和工作负载标签页,确保您已取消注册所有应用组件。如需了解详情,请参阅取消注册服务和工作负载。

  5. 取消注册所有服务和工作负载后,返回应用详情,然后点击删除。

gcloud

  1. 查找管理项目的项目 ID。

  2. 确保您已取消注册所有应用组件。如需了解详情,请参阅取消注册服务和工作负载。

  3. 在应用没有注册的组件后,将其删除:

    gcloud apphub applications delete APPLICATION_NAME \
        --project=PROJECT_ID \
        --location=LOCATION
    

    替换以下内容:

    • APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。
    • PROJECT_ID:管理项目的 ID。
    • LOCATION:应用的位置。对于全球应用,请使用 global;对于区域应用,请使用特定区域(例如 us-east1)。

Terraform

如需删除由 Terraform 管理的应用,您可以选择以下选项:

  • 从配置中移除资源:从 Terraform 文件中删除 google_apphub_application 资源块,然后运行 terraform apply。Terraform 会识别出该资源不再存在于配置中,并将其从项目中删除。
  • 终止所有资源:运行 terraform destroy 命令,终止由 Terraform 配置管理的所有资源,包括应用。

后续步骤