借助 App Hub,您可以查看已注册的应用、更新其属性以及删除应用,从而确保应用清单准确无误。为避免配置偏差,请仅使用 App Hub 更新或删除您直接注册的应用,并在 Application Design Center 中管理基于模板的应用。
概览
选择应用设置模型时,您需要在管理项目中为 App Hub 应用定义应用管理边界。然后,您可以在此边界内的应用中注册服务和工作负载。
如需了解引入应用管理实践的推荐应用场景,请参阅准备应用管理。如需创建应用并注册资源,请参阅向应用注册现有资源。
为避免配置偏移并保持清晰的可靠来源,我们建议您在最初定义应用组件的环境中管理这些组件:
对于通过 Application Design Center 模板部署的应用:使用 Application Design Center 管理和更新应用。您可以修改模板以更改应用设计,也可以创建应用修订版本来更新应用和组件详细信息等设置。
对于通过在 App Hub 中注册现有资源而创建的应用:直接在 App Hub 中管理应用、服务和工作负载。
在 App Hub 中,您可以使用Google Cloud 控制台或 Google Cloud CLI 执行这些操作。对于根据模板部署的应用,请参阅 Application Design Center 文档。
准备工作
本文档假定您有一个应用,其中注册了受支持的资源。
所需的角色
如需获得在 App Hub 中管理应用所需的权限,请让管理员向您授予定义应用管理边界的管理项目的以下 IAM 角色:
-
更新和删除应用:App Hub Editor (
roles/apphub.editor) -
查看应用:App Hub Viewer (
roles/apphub.viewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解 App Hub 角色,请参阅 App Hub IAM 角色和权限。
列出应用
如需列出并过滤应用管理边界内的所有应用,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,使用项目选择器选择管理项目。
从 App Hub 前往应用页面:
该页面会显示您的应用列表。
如需过滤列表,请使用过滤条件字段。您可以按重要性或环境等属性进行过滤。
gcloud
使用以下任一选项显示应用列表:
列出所有应用:
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。
查看应用详情
请按照以下步骤查看特定应用的详细信息,包括其属性和元数据:
控制台
在 Google Cloud 控制台中,使用项目选择器选择管理项目。
从 App Hub 前往应用页面:
该页面会显示您的应用列表。
点击您要查看的应用的名称。
系统会显示应用的详细信息标签页。
gcloud
描述应用:
gcloud apphub applications describe APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。PROJECT_ID:管理项目的 ID。LOCATION:应用的位置。对于全球应用,请使用global;对于区域应用,请使用特定区域(例如us-east1)。
更新应用属性
如需在应用创建后修改其属性,请按以下步骤操作。服务和工作负载也可以在注册期间使用相同的应用属性。
控制台
在 Google Cloud 控制台中,使用项目选择器选择管理项目。
从 App Hub 前往应用页面:
该页面会显示您的应用列表。
对于要更新的应用,点击 修改。
在修改应用窗格中,根据需要修改字段。
点击保存。
gcloud
更新应用属性。您可以更新任何可变属性,例如
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_CRITICALHIGHMEDIUMLOW
可选:
ENVIRONMENT:软件生命周期的阶段。请使用以下某个值:PRODUCTIONSTAGINGDEVELOPMENTTEST
可选:
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
}
}
删除应用
您必须先取消注册应用的所有服务和工作负载,然后才能删除应用。然后,按照以下步骤删除应用:
控制台
在 Google Cloud 控制台中,使用项目选择器选择管理项目。
从 App Hub 前往应用页面:
该页面会显示您的应用列表。
点击要删除的应用的名称。
前往服务和工作负载标签页,确保您已取消注册所有应用组件。如需了解详情,请参阅取消注册服务和工作负载。
取消注册所有服务和工作负载后,返回应用详情,然后点击删除。
gcloud
确保您已取消注册所有应用组件。如需了解详情,请参阅取消注册服务和工作负载。
在应用没有注册的组件后,将其删除:
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 配置管理的所有资源,包括应用。