管理服務和工作負載

設定 App Hub 時,您會為應用程式建立管理邊界。這個界線是管理專案,或是您為應用程式管理設定的主機和服務專案集合,視您的設定模型而定。服務和工作負載會在這個管理界線內註冊為應用程式

為避免設定漂移並維持明確的資訊來源,建議您在原始定義應用程式資源的環境中管理這些資源:

  • 從 Application Design Center 範本部署的應用程式: 使用 Application Design Center 管理及更新應用程式。 您可以修訂範本來變更應用程式設計,也可以建立應用程式修訂版本,更新應用程式和元件詳細資料等設定。

    前往 App Design Center

  • 透過在 App Hub 中註冊資源建立的應用程式:直接在 App Hub 中管理應用程式、服務和工作負載。

    前往 App Hub

本頁面說明如何管理直接在 App Hub 中探索或註冊為應用程式的服務和工作負載。您可以使用 Google Cloud 控制台或 Google Cloud CLI 執行這些動作。如要瞭解如何從範本部署應用程式,請參閱應用程式設計中心文件。

事前準備

如要在 App Hub 中查看、更新及取消註冊服務和工作負載,請先完成下列步驟:

  1. 使用其中一種支援的設定模型設定 App Hub
  2. 將支援的資源註冊至應用程式

必要的角色

如要取得管理 App Hub 服務和工作負載所需的權限,請要求管理員在設定模型 (管理專案或主機和服務專案) 的應用程式管理邊界,授予下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

如要進一步瞭解 App Hub 角色,請參閱App Hub 身分與存取權管理角色和權限

查看服務和工作負載的詳細資料

請按照下列步驟,在 App Hub 管理邊界內查看服務和工作負載的詳細資料,包括位置和向應用程式註冊的狀態:

主控台

查看已註冊已卸離應用程式的服務和工作負載詳細資料:

  1. 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案:

    前往「歡迎」頁面

  2. 前往 App Hub 的「Applications」(應用程式) 頁面:

    前往「Applications」(應用程式)

    這個頁面會顯示應用程式清單。

  3. 按一下要查看服務或工作負載的應用程式名稱。

  4. 在「服務和工作負載」分頁中,按一下要查看的服務或工作負載名稱。

  5. 在資源的「詳細資料」頁面中,您可以查看顯示名稱、位置、註冊狀態和屬性等詳細資料。

或者,查看所有服務和工作負載的清單,其中註冊狀態值為「已探索」或「已註冊」

  1. 前往 App Hub 的「服務和工作負載」頁面:

    前往「服務和工作負載」

    這個頁面會顯示所有已探索及註冊的服務和工作負載清單。

  2. 使用「篩選」欄位,依「環境」或「註冊狀態」等屬性縮小結果範圍。

gcloud

查看已註冊已卸離應用程式的服務和工作負載詳細資料:

  1. 找出管理專案或主專案的專案 ID

  2. 描述應用程式中的服務或工作負載,即可查看詳細資料:

    • 描述服務:

      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) 代表區域資源。

輸出內容會顯示資源的詳細資料,例如顯示名稱、位置、註冊狀態和屬性。

或者,查看所有服務和工作負載的清單,其中註冊狀態值為「已探索」或「已註冊」

已發現的資源

您可以將探索到的資源註冊至應用程式。如要列出探索到的資源,請按照下列步驟操作:

  1. 列出探索到的服務:

    gcloud apphub discovered-services list \
        --project=PROJECT_ID \
        --location=LOCATION
    

    更改下列內容:

    • PROJECT_ID:主機專案或管理專案的 ID。
    • LOCATION:要探索資源的位置。使用 global 代表全球資源,或使用 us-east1 等特定區域代表區域資源。
  2. 列出已探索的工作負載:

    gcloud apphub discovered-workloads list \
        --project=PROJECT_ID \
        --location=LOCATION
    

已註冊的資源

註冊的資源是應用程式的一部分。請按照下列步驟列出特定應用程式的已註冊資源。您可以使用 --filter 旗標,根據屬性篩選清單:

  1. 列出應用程式中已註冊的服務:

    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
  2. 列出應用程式中已註冊的工作負載:

    gcloud apphub applications workloads list \
        --application=APPLICATION_NAME \
        --project=PROJECT_ID \
        --location=LOCATION \
        --filter=FILTER_EXPRESSION
    

如果您修改資源的機構結構或刪除基礎資源,應用程式中服務和工作負載的註冊狀態可能會變更為「已分離」。 Google Cloud服務和工作負載與應用程式分離後,除非您取消註冊,否則這些項目仍會保留在應用程式中,但 App Hub 無法再管理或監控這些項目。詳情請參閱「服務和工作負載的註冊狀態」。

如要將服務或工作負載重新附加至應用程式,您必須根據設定模型的資源階層再次註冊這些服務或工作負載。

更新服務和工作負載屬性

如要修改已向應用程式註冊的服務和工作負載的使用者定義屬性,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案:

    前往「歡迎」頁面

  2. 前往 App Hub 的「Applications」(應用程式) 頁面:

    前往「Applications」(應用程式)

    這個頁面會顯示應用程式清單。

  3. 按一下要更新服務或工作負載屬性的應用程式名稱。

  4. 在「服務和工作負載」分頁中,找到要更新的服務或工作負載名稱。

  5. 依序點選 more_vert「更多」,然後點選 「編輯服務」「編輯工作負載」

  6. 在開啟的窗格中,視需要編輯欄位,然後按一下「儲存」

gcloud

  1. 找出管理專案或主專案的專案 ID

  2. 更新服務或工作負載屬性:

    • 更新服務屬性:

      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_NAMEDEV_EMAIL:分別是開發人員擁有者的顯示名稱和電子郵件地址。

      • 選用:OPERATOR_NAMEOPERATOR_EMAIL:分別是營運商擁有者的顯示名稱和電子郵件地址。

      • 選用:BUSINESS_NAMEBUSINESS_EMAIL 分別為商家業主的顯示名稱和電子郵件地址。

Terraform

如要使用 Terraform 更新服務或工作負載屬性,請修改設定檔中對應的 google_apphub_servicegoogle_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
        }
    }
    

取消註冊服務和工作負載

取消註冊服務或工作負載後,系統會將其從應用程式中移除。基礎資源不會遭到刪除,而是會再次成為「已探索」資源,可供其他應用程式註冊。

如要取消註冊服務和工作負載,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台的「Welcome」頁面中,使用專案選擇工具選取管理專案或主專案:

    前往「歡迎」頁面

  2. 前往 App Hub 的「Applications」(應用程式) 頁面:

    前往「Applications」(應用程式)

    這個頁面會顯示應用程式清單。

  3. 按一下要取消註冊服務或工作負載的應用程式名稱。

  4. 在「服務和工作負載」分頁中,按一下要取消註冊的服務或工作負載名稱。

  5. 在資源的詳細資料頁面中,按一下「取消註冊」

gcloud

  1. 找出管理專案或主專案的專案 ID

  2. 取消註冊服務或工作負載:

    • 取消註冊服務:

      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_servicegoogle_apphub_workload 資源區塊,然後執行 terraform apply。套用變更後,Terraform 會從應用程式中心移除註冊項目。

取消註冊所有服務和工作負載後,即可刪除應用程式

後續步驟