設定 App Hub 時,您會為應用程式建立管理邊界。這個界線是管理專案,或是您為應用程式管理設定的主機和服務專案集合,視您的設定模型而定。服務和工作負載會在這個管理界線內註冊為應用程式。
為避免設定漂移並維持明確的資訊來源,建議您在原始定義應用程式資源的環境中管理這些資源:
- 從 Application Design Center 範本部署的應用程式: 使用 Application Design Center 管理及更新應用程式。 您可以修訂範本來變更應用程式設計,也可以建立應用程式修訂版本,更新應用程式和元件詳細資料等設定。 
- 透過在 App Hub 中註冊資源建立的應用程式:直接在 App Hub 中管理應用程式、服務和工作負載。 
本頁面說明如何管理直接在 App Hub 中探索或註冊為應用程式的服務和工作負載。您可以使用 Google Cloud 控制台或 Google Cloud CLI 執行這些動作。如要瞭解如何從範本部署應用程式,請參閱應用程式設計中心文件。
事前準備
如要在 App Hub 中查看、更新及取消註冊服務和工作負載,請先完成下列步驟:
- 使用其中一種支援的設定模型設定 App Hub。
- 將支援的資源註冊至應用程式。
必要的角色
如要取得管理 App Hub 服務和工作負載所需的權限,請要求管理員在設定模型 (管理專案或主機和服務專案) 的應用程式管理邊界,授予下列 IAM 角色:
- 
            更新及取消註冊服務和工作負載:
              
  
  
    
      App Hub 編輯者  (roles/apphub.editor)
- 
            查看服務和工作負載:
              
  
  
    
      App Hub 檢視者  (roles/apphub.viewer)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解 App Hub 角色,請參閱App Hub 身分與存取權管理角色和權限。
查看服務和工作負載的詳細資料
請按照下列步驟,在 App Hub 管理邊界內查看服務和工作負載的詳細資料,包括位置和向應用程式註冊的狀態:
主控台
查看已註冊或已卸離應用程式的服務和工作負載詳細資料:
- 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案: 
- 前往 App Hub 的「Applications」(應用程式) 頁面: - 這個頁面會顯示應用程式清單。 
- 按一下要查看服務或工作負載的應用程式名稱。 
- 在「服務和工作負載」分頁中,按一下要查看的服務或工作負載名稱。 
- 在資源的「詳細資料」頁面中,您可以查看顯示名稱、位置、註冊狀態和屬性等詳細資料。 
或者,查看所有服務和工作負載的清單,其中註冊狀態值為「已探索」或「已註冊」:
- 前往 App Hub 的「服務和工作負載」頁面: - 這個頁面會顯示所有已探索及註冊的服務和工作負載清單。 
- 使用「篩選」欄位,依「環境」或「註冊狀態」等屬性縮小結果範圍。 
gcloud
查看已註冊或已卸離應用程式的服務和工作負載詳細資料:
- 描述應用程式中的服務或工作負載,即可查看詳細資料: - 描述服務: - 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) 代表區域資源。
 
 
輸出內容會顯示資源的詳細資料,例如顯示名稱、位置、註冊狀態和屬性。
或者,查看所有服務和工作負載的清單,其中註冊狀態值為「已探索」或「已註冊」:
已發現的資源
您可以將探索到的資源註冊至應用程式。如要列出探索到的資源,請按照下列步驟操作:
- 列出探索到的服務: - 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
如果您修改資源的機構結構或刪除基礎資源,應用程式中服務和工作負載的註冊狀態可能會變更為「已分離」。 Google Cloud服務和工作負載與應用程式分離後,除非您取消註冊,否則這些項目仍會保留在應用程式中,但 App Hub 無法再管理或監控這些項目。詳情請參閱「服務和工作負載的註冊狀態」。
如要將服務或工作負載重新附加至應用程式,您必須根據設定模型的資源階層再次註冊這些服務或工作負載。
更新服務和工作負載屬性
如要修改已向應用程式註冊的服務和工作負載的使用者定義屬性,請按照下列步驟操作:
主控台
- 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案: 
- 前往 App Hub 的「Applications」(應用程式) 頁面: - 這個頁面會顯示應用程式清單。 
- 按一下要更新服務或工作負載屬性的應用程式名稱。 
- 在「服務和工作負載」分頁中,找到要更新的服務或工作負載名稱。 
- 依序點選 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_CRITICAL
- HIGH
- MEDIUM
- LOW
 
- 選用: - ENVIRONMENT:軟體生命週期的階段。請使用下列其中一個值:- PRODUCTION
- STAGING
- DEVELOPMENT
- TEST
 
- 選用: - 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 } }
取消註冊服務和工作負載
取消註冊服務或工作負載後,系統會將其從應用程式中移除。基礎資源不會遭到刪除,而是會再次成為「已探索」資源,可供其他應用程式註冊。
如要取消註冊服務和工作負載,請按照下列步驟操作:
主控台
- 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案: 
- 前往 App Hub 的「Applications」(應用程式) 頁面: - 這個頁面會顯示應用程式清單。 
- 按一下要取消註冊服務或工作負載的應用程式名稱。 
- 在「服務和工作負載」分頁中,按一下要取消註冊的服務或工作負載名稱。 
- 在資源的詳細資料頁面中,按一下「取消註冊」。 
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 會從應用程式中心移除註冊項目。
取消註冊所有服務和工作負載後,即可刪除應用程式。