选择应用设置模型时,您需要在管理项目中为 App Hub 应用定义应用管理边界。然后,您可以在此边界内的应用中注册服务和工作负载。
如需了解应用管理实践方面的推荐用例,请参阅 准备工作。 如需创建应用和注册资源,请参阅 向应用注册现有资源。
为避免配置漂移并保持明确的事实来源,我们建议您在最初定义应用组件的环境中管理这些组件:
对于从 App Design Center 模板部署的应用: 使用 App Design Center 管理和更新应用。 您可以 修改模板 以更改应用设计,也可以 创建应用修订版本 以更新应用和组件详细信息等设置。
对于通过在 App Hub 中注册现有资源创建的应用: 直接在 App Hub 中管理应用、服务和工作负载。
本页面介绍了如何管理直接在 App Hub 中注册的应用。您可以使用 Google Cloud 控制台或 Google Cloud CLI 执行这些操作。对于从 模板部署的应用,请参阅 App 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
找到项目 ID 管理项目的。
使用以下选项之一显示应用列表:
列出所有应用:
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
找到项目 ID 管理项目的。
描述应用:
gcloud apphub applications describe APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。PROJECT_ID:您的管理项目的 ID。LOCATION:应用的位置。对于全球应用,请使用global;对于区域应用,请使用特定区域(例如us-east1)。
更新应用属性
如需在创建应用后修改其 属性 ,请按以下步骤操作。服务和 工作负载也可以在注册期间使用相同的应用属性 注册。
控制台
在 Google Cloud 控制台中,使用项目选择器选择您的 管理项目。
从 App Hub 前往应用 页面:
该页面会显示您的应用列表。
对于要更新的应用,点击 Edit。
在修改应用 窗格中,根据需要修改字段。
点击保存 。
gcloud
找到项目 ID 管理项目的。
更新应用属性。您可以更新任何可变属性,例如
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 更新应用属性,请修改配置文件中
the google_apphub_application resource
块内的实参。应用更改后,Terraform 会更新应用以匹配新配置。
以下示例更新了 us-central1 中区域应用的严重程度和环境属性:
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
找到项目 ID 管理项目的。
确保您已取消注册所有应用组件。如需了解详情,请参阅 取消注册服务和工作负载。
在应用没有已注册组件后,将其删除:
gcloud apphub applications delete APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。PROJECT_ID:您的管理项目的 ID。LOCATION:应用的位置。对于全球应用,请使用global;对于区域应用,请使用特定区域(例如us-east1)。
Terraform
如需删除由 Terraform 管理的应用,您可以使用以下选项:
- 从配置中移除资源:删除
google_apphub_application资源 块,然后运行terraform apply。Terraform 会识别出该资源已不在配置中,并将其从您的项目中删除。 - 终止所有资源:运行
terraform destroy命令以 终止由 Terraform 配置管理的所有资源, 包括应用。