前提条件
在修改 App Hub 资源之前,请完成以下任务:
- 请按照前提条件设置 App Hub。
- 根据您要修改的资源类型,确保您已完成设置 App Hub 的步骤。如需了解详情,请参阅设置 App Hub。
所需的角色
如需获得修改 App Hub 资源所需的权限,请让管理员向您授予启用了应用的文件夹的以下 IAM 角色:
-
如需创建和更新应用、注册和取消注册服务和工作负载,以及更新关联的属性,请执行以下操作:
-
App Hub Admin (
roles/apphub.admin
) -
App Hub 编辑者 (
roles/apphub.editor
)
-
App Hub Admin (
-
如需查看应用、服务和工作负载及其属性,请执行以下操作:
App Hub Viewer (
roles/apphub.viewer
) -
如需查看支持应用管理的服务中的应用、服务和工作负载及其属性,请使用 App Hub Management Viewer (
roles/apphub.appManagementViewer
): Google Cloud
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
列出应用
您可以列出启用了应用的文件夹中的应用并对其进行过滤。
控制台
如需查看已启用应用的文件夹中的应用,请在 Google Cloud 控制台中前往 App Hub 的应用页面。
如需过滤应用,请执行以下操作:
- 在过滤条件字段中,选择一个过滤条件,例如重要性。
- 为过滤条件指定值。例如,如需显示重要性高的应用,请选择高作为值。
系统会显示与指定过滤条件匹配的应用列表。
gcloud
如需查看已启用应用的文件夹中的应用,请执行以下操作:
gcloud apphub applications list \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
替换以下内容:
如需根据变量属性过滤应用,请使用
--filter
标志。例如,如需列出environment-type
属性设置为PRODUCTION
的所有应用,请执行以下操作:gcloud apphub applications list \ --filter='attributes.environment.type=PRODUCTION' \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
查看应用
您可以在支持应用的文件夹中描述应用。
控制台
在 Google Cloud 控制台中,前往 App Hub 的应用页面。
在应用列表中,点击要详细了解的应用。
点击详细信息标签页以显示应用的详细信息。
gcloud
gcloud apphub applications describe APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
将 APPLICATION_NAME
替换为应用的名称。名称只能包含小写字母数字字符,且不得包含空格。
更新 App Hub 应用
您可以在应用创建后更新应用的属性。
控制台
在 Google Cloud 控制台中,前往 App Hub 的应用页面。
在应用列表中,针对您要更新的应用点击
修改。根据需要修改字段。
点击保存。
gcloud
使用
criticality-type
、environment-type
和所有者类型属性更新您的应用:gcloud apphub applications update APPLICATION_NAME \ --display-name='APPLICATION_DISPLAY_NAME' \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
替换以下内容:
APPLICATION_NAME
:应用的名称。名称只能包含小写字母数字字符,且不得包含空格。REGION
:应用的区域。
您可以更新以下任意一项:
APPLICATION_DISPLAY_NAME
:表示应用的显示名称。CRITICALITY_LEVEL
:表示应用、服务或工作负载对您的业务运营的重要程度。提供以下某个值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
:表示软件生命周期的阶段。提供以下某个值:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
、DISPLAY-NAME-OPERATOR
和DISPLAY-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的显示名称。EMAIL-NAME-DEVELOPER
、EMAIL-NAME-OPERATOR
和EMAIL-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的电子邮件地址。这些值的格式必须为username@yourdomain
,例如222larabrown@gmail.com
。
例如:
gcloud apphub applications update my-application \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --project=google-mpf-FOLDER-ID \ --location=us-east1
查看服务和工作负载
您可以查看、列出和过滤应用中的服务和工作负载。
控制台
如需列出服务和工作负载,请执行以下操作:
在 Google Cloud 控制台中,前往 App Hub 的服务和工作负载页面。
在区域列表中,选择您要查看服务和工作负载所在的区域。例如,选择 us-east1。
“服务和工作负载”页面会显示与 us-east1 关联的已关联服务项目中的所有服务和工作负载。
如需过滤服务或工作负载,请执行以下操作:
- 在过滤条件字段中,选择一个过滤条件,例如环境。
- 为过滤条件指定值。例如,如需查看生产环境中的服务和工作负载,请选择 Production 作为值。
系统会显示与指定过滤条件匹配的服务和工作负载的列表。
gcloud
列出发现的服务
发现的服务可注册到应用。
如需列出发现的服务,请执行以下操作:
gcloud apphub discovered-services list \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
您将看到类似如下所示的输出:
ID SERVICE_REFERENCE SERVICE_PROPERTIES [DISCOVERED_SERVICE_ID] {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
可选:过滤发现的服务列表。例如,如需过滤已启用应用的文件夹中具有转发规则的发现服务,请执行以下操作:
gcloud apphub discovered-services list \ --filter='service_reference.uri~"forwardingRules"' \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
列出已注册的服务
列出和过滤应用中注册的 App Hub 服务。
如需列出应用中已注册的服务,请执行以下操作:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
您将看到类似如下所示的输出:
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME SERVICE_NAME mywebserver-service1 {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule'} 2023-11-01T21:38:08
已注册但已分离的服务由
SERVICE_REFERENCE
字段中的空值表示。可选:过滤已注册服务的列表。例如,如需过滤
environment-type
属性设置为PRODUCTION
的应用中的已注册服务,请执行以下操作:gcloud apphub applications services list \ --filter='attributes.environment.type=PRODUCTION' \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
列出发现的工作负载
发现的工作负载可注册到应用。
如需列出发现的工作负载,请执行以下操作:
gcloud apphub discovered-workloads list \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
您将看到类似如下所示的输出,其中包含未注册的 MIG:
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES [DISCOVERED_WORKLOAD_ID] {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/instanceGroups/testing-mig'} {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
可选:过滤发现的工作负载列表。例如,如需过滤已启用应用的文件夹中包含计算资源的已发现工作负载列表,请执行以下操作:
gcloud apphub discovered-workloads list \ --filter='workload_reference.uri~"compute"' --project=MANAGEMENT_PROJECT_ID \ --location=REGION
列出已注册的工作负载
列出和过滤应用中注册的 App Hub 工作负载。
如需列出应用中已注册的工作负载,请执行以下操作:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
您将看到类似如下所示的输出:
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME WORKLOAD_NAME mywebserver-deployment1 {'uri': '//compute.googleapis.com/projects/[PROJECT_NUMBER]/regions/REGION/instanceGroups/testing-mig'} 2023-10-31T18:34:23
已注册但已分离的工作负载由
WORKLOAD_REFERENCE
字段中的空值表示。如需详细了解注册状态,请参阅 App Hub 的属性和属性。可选:过滤已注册工作负载的列表。例如,若要过滤
environment-type
属性设置为PRODUCTION
的应用中的工作负载,请执行以下操作:gcloud apphub applications workloads list \ --filter='attributes.environment.type=PRODUCTION' \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
更新服务和工作负载
您可以更新注册到应用的服务和工作负载。
控制台
在 Google Cloud 控制台中,前往 App Hub 的应用页面。
点击应用的名称。
系统会显示服务和工作负载标签页,其中列出了服务项目中已注册的服务和工作负载。对于要更新的每项服务或工作负载,请执行以下操作:
- 在服务和工作负载标签页中,针对要更新的服务或工作负载,点击 more_vert,然后点击 修改服务或修改工作负载。
- 在修改服务或修改工作负载窗格中,根据需要修改字段,然后点击保存。
gcloud
使用
criticality-type
、environment-type
和 ownerType 属性更新您的服务:gcloud apphub applications services update SERVICE_NAME \ --application=APPLICATION_NAME \ --display-name='SERVICE_DISPLAY_NAME' \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
将
SERVICE_NAME
替换为应用中心服务的名称。您可以更新以下任意一项:
SERVICE_DISPLAY_NAME
:表示服务的显示名称。CRITICALITY_LEVEL
:表示应用、服务或工作负载对您的业务运营的重要程度。提供以下某个值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
:表示软件生命周期的阶段。提供以下某个值:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
、DISPLAY-NAME-OPERATOR
和DISPLAY-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的显示名称。EMAIL-NAME-DEVELOPER
、EMAIL-NAME-OPERATOR
和EMAIL-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的电子邮件地址。这些值的格式必须为username@yourdomain
,例如222larabrown@gmail.com
。
例如:
gcloud apphub applications workloads update my-application \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --project=google-mpf-FOLDER-ID \ --location=us-east1
使用
criticality-type
、environment-type
和 owner 类型属性更新您的工作负载:gcloud apphub applications workloads update WORKLOAD_NAME \ --application=APPLICATION_NAME \ --display-name='WORKLOAD_DISPLAY_NAME' \ --criticality-type='CRITICALITY_LEVEL' \ --environment-type='ENVIRONMENT' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
将
WORKLOAD_NAME
替换为应用中心工作负载的名称。您可以更新以下任意一项:
WORKLOAD_DISPLAY_NAME
:表示服务的显示名称。CRITICALITY_LEVEL
:表示应用、服务或工作负载对您的业务运营的重要程度。提供以下某个值:MISSION_CRITICAL
HIGH
MEDIUM
LOW
ENVIRONMENT
:表示软件生命周期的阶段。提供以下某个值:PRODUCTION
STAGING
DEVELOPMENT
TEST
DISPLAY-NAME-DEVELOPER
、DISPLAY-NAME-OPERATOR
和DISPLAY-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的显示名称。EMAIL-NAME-DEVELOPER
、EMAIL-NAME-OPERATOR
和EMAIL-NAME-BUSINESS
:分别为开发者、运营商和企业所有者的电子邮件地址。这些值的格式必须为username@yourdomain
,例如222larabrown@gmail.com
。
例如:
gcloud apphub applications workloads update my-application \ --criticality-type='MEDIUM' \ --environment-type='STAGING' \ --developer-owners=display-name=developer-name,email=username@yourdomain \ --project=google-mpf-FOLDER-ID \ --location=us-east1
删除应用、服务和工作负载
删除现有应用可移除与启用了应用的文件夹关联的已注册资源。为此,您必须先取消注册已注册到该应用的工作负载和服务。
控制台
gcloud
列出应用中已注册的服务:
gcloud apphub applications services list \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
从应用中取消注册服务:
gcloud apphub applications services delete SERVICE_NAME \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
该服务现在是可注册到应用的已发现服务。
重复上述命令,从应用中取消注册所有剩余的已注册服务。
列出应用中已注册的工作负载:
gcloud apphub applications workloads list \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
从应用中取消注册工作负载:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION
该工作负载现在是一项已发现的工作负载,可以注册到应用。
重复前面的命令,从应用中删除所有剩余的已注册工作负载。
删除应用:
gcloud apphub applications delete APPLICATION_NAME \ --project=MANAGEMENT_PROJECT_ID \ --location=REGION