設定 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 會從應用程式中心移除註冊項目。
取消註冊所有服務和工作負載後,即可刪除應用程式。