当您选择应用设置模型时,您可以在管理项目中为 App Hub 应用定义应用管理边界。然后,您可以在此边界内的应用中注册服务和工作负载。 如需了解引入应用管理实践的推荐用例,请参阅为应用生命周期管理做好准备。
为避免配置漂移并保持清晰的可信来源,我们建议您在最初定义应用组件的环境中管理这些组件:
对于根据 App Design Center 模板部署的应用:请使用 App Design Center 管理和更新应用。 您可以修改模板以更改应用设计,也可以创建应用修订版本来更新应用和组件详细信息等设置。
对于通过在 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
使用以下任一选项显示您的申请列表:
列出所有应用:
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 中区域性应用的关键程度和环境属性:
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 配置管理的所有资源,包括应用。