当您选择应用设置模型时,您可以在管理项目中为 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 角色和权限。
查看服务和工作负载的详细信息
按照以下步骤操作,即可查看应用管理边界内的服务和工作负载的详细信息,包括其位置、向应用的注册状态、属性和特性。如需详细了解这些细节,请参阅 App Hub 概念和数据模型。
控制台
查看注册状态值为 registered 或 detached 的应用的详细信息:
在 Google Cloud 控制台中,使用项目选择器选择您的管理项目。
从 App Hub 前往应用页面:
该页面会显示您的申请列表。
点击要查看服务或工作负载详情的应用的名称。
在服务和工作负载标签页中,点击要查看的服务或工作负载的名称。
在组件的详细信息页面中,您可以查看显示名称、位置、注册状态、属性和特性等信息。
或者,查看注册状态值为已发现或已注册的所有服务和工作负载的列表:
通过 App Hub 前往服务和工作负载页面:
该页面会显示所有已发现和已注册的服务和工作负载的列表。
使用过滤条件字段,通过属性、特性或状态(使用“环境”“所有者”或“注册状态”等值)缩小结果范围。
gcloud
查看注册状态值为 registered 或 detached 的应用的详细信息:
描述应用中的服务或工作负载,以查看其详细信息,包括属性和特性:
描述服务:
gcloud apphub applications services describe SERVICE \ --project=PROJECT_ID \ --application=APPLICATION \ --location=LOCATION替换以下内容:
SERVICE:服务的 ID。PROJECT_ID:您的管理项目的 ID。APPLICATION:服务注册到的应用的 ID。LOCATION:服务的位置。 对于全球资源,请使用global;对于区域资源,请使用特定区域,例如us-east1。
描述工作负载:
gcloud apphub applications workloads describe WORKLOAD \ --project=PROJECT_ID \ --application=APPLICATION \ --location=LOCATION替换以下内容:
WORKLOAD:工作负载的 ID。PROJECT_ID:您的管理项目的 ID。APPLICATION:工作负载注册到的应用的 ID。LOCATION:工作负载的位置。 对于全球资源,请使用global;对于区域资源,请使用特定区域,例如us-east1。
输出会显示组件的详细信息,例如显示名称、位置和注册状态。如果资源中存在属性和特性,则也会包含这些属性和特性。
或者,查看注册状态值为已发现或已注册的所有服务和工作负载的列表:
已发现
应用管理边界内的已发现 Google Cloud 资源可注册为应用中的服务或工作负载。请按照以下步骤列出发现的资源:
列出已发现的服务:
gcloud apphub discovered-services list \ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
PROJECT_ID:您的管理项目的 ID。LOCATION:您要发现资源的位置。对于全局资源,请使用global;对于区域资源,请使用特定区域,例如us-east1。
列出发现的工作负载:
gcloud apphub discovered-workloads list \ --project=PROJECT_ID \ --location=LOCATION
已注册
已注册的服务和工作负载是应用的一部分。请按照以下步骤列出特定应用的已注册组件。
您可以使用 --filter 标志,根据属性过滤列表:
列出应用中已注册的服务:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --filter=FILTER_EXPRESSION替换以下内容:
APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。PROJECT_ID:您的管理项目的 ID。LOCATION:组件位置。 对于全球组件,请使用global;对于区域组件,请使用特定区域,例如us-east1。- 可选:
FILTER_EXPRESSION:用于指定属性的过滤表达式。例如,如需列出环境类型为PRODUCTION的组件,请使用attributes.environment.type=PRODUCTION。
列出应用中已注册的工作负载:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --filter=FILTER_EXPRESSION
如果您将项目或文件夹移出应用管理边界或删除底层资源,应用中服务和工作负载的注册状态可能会更改为 detached。分离的服务和工作负载会保留在应用中,直到您取消注册它们为止,但 App Hub 无法再管理或监控它们。如需了解详情,请参阅服务和工作负载的注册状态。
如需将服务或工作负载重新附加到应用,您必须再次注册它们。
更新服务和工作负载属性
如需修改应用中注册的服务和工作负载的属性,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,使用项目选择器选择您的管理项目。
从 App Hub 前往应用页面:
该页面会显示您的申请列表。
点击要更新服务或工作负载属性的应用的名称。
在服务和工作负载标签页中,找到要更新的服务或工作负载的名称。
依次点击 more_vert 更多,然后点击 修改服务或 修改工作负载。
在打开的窗格中,根据需要修改字段,然后点击保存。
gcloud
更新服务或工作负载属性:
更新服务属性:
gcloud apphub applications services update SERVICE_NAME \ --application=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将
SERVICE_NAME替换为您要更新的服务的名称。更新工作负载属性:
gcloud apphub applications workloads update WORKLOAD_NAME \ --application=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将
WORKLOAD_NAME替换为您要更新的工作负载的名称。替换以下必需标志和可选标志:
- 必需:
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_service 或 google_apphub_workload 资源块中的实参。应用更改后,Terraform 会更新资源以与新配置保持一致。
以下示例更新了区域应用的服务的严重程度和工作负载的环境属性:
更新服务属性:
resource "google_apphub_service" "example" { # ... other arguments attributes { criticality { type = "HIGH" # Updated criticality } environment { type = "PRODUCTION" } # ... other attributes } }更新工作负载属性:
resource "google_apphub_workload" "example" { # ... other arguments attributes { criticality { type = "HIGH" # Updated criticality } environment { type = "PRODUCTION" } # ... other attributes } }
取消注册服务和工作负载
取消注册服务或工作负载会将其从应用中移除。底层资源不会被删除。如果该资源仍在您的应用管理边界内,则会成为注册状态值为 discovered 的资源,可供其他应用注册。
请按照以下步骤取消注册服务和工作负载:
控制台
在 Google Cloud 控制台中,使用项目选择器选择您的管理项目。
从 App Hub 前往应用页面:
该页面会显示您的申请列表。
点击要取消注册服务或工作负载的应用的名称。
在服务和工作负载标签页中,点击要取消注册的服务或工作负载的名称。
在组件的详情页面中,点击取消注册。
gcloud
取消注册服务或工作负载:
取消注册服务:
gcloud apphub applications services delete SERVICE_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION替换以下内容:
SERVICE_NAME:您要取消注册的服务的名称。APPLICATION_NAME:应用的名称。您可以在创建应用时指定此值。PROJECT_ID:您的管理项目的 ID。LOCATION:组件位置。对于全球组件,请使用global;对于区域组件,请使用特定区域,例如us-east1。
取消注册工作负载:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=PROJECT_ID \ --location=LOCATION将
WORKLOAD_NAME替换为您要取消注册的工作负载的名称。
Terraform
如需取消注册由 Terraform 管理的服务或工作负载,请从配置文件中移除相应的 google_apphub_service 或 google_apphub_workload 资源块,然后运行 terraform apply。应用更改后,Terraform 会从 App Hub 中移除注册信息。
取消注册所有服务和工作负载后,您可以删除应用。