管理訪客政策 (舊版)

建立訪客政策後,您可以按照下列程序查看及管理政策:

由於 OS Config 代理程式每 10 到 15 分鐘就會執行一次,因此設定政策更新或刪除作業後,大約需要 10 到 15 分鐘才會生效。

您可以使用 Google Cloud CLIREST 管理客體政策。

事前準備

  • 查看 OS 設定配額
  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

        如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

更新訪客政策

如要更新住客政策,請完成下列步驟:

  1. 更新 YAML 或 JSON 檔案。
  2. 執行更新或修補程式指令。更新程序與建立程序類似,但新增了對 etag 的支援,可進行並行和一致性控制。

gcloud

使用 os-config guest-policies update 指令更新訪客政策。

gcloud beta compute os-config guest-policies update POLICY_ID \
     --file=FILE

更改下列內容:

  • POLICY_ID:要更新的訪客政策名稱。
  • FILE:內含更新後訪客政策規格的 JSON 或 YAML 檔案。

REST

在 API 中建立目標為 projects.guestPolicies.patch 方法的 PATCH 要求。

PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

{
  For more information, see Guest policy JSON
}

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策名稱。

描述訪客政策

gcloud

如要查看客體政策的詳細資料,請使用 os-config guest-policies describe 指令。將 POLICY_ID 替換為要說明的客層政策名稱。

gcloud beta compute os-config guest-policies describe POLICY_ID

REST

在 API 中建立目標為 projects.guestPolicies.get 方法的 GET 要求。

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策名稱。

列出訪客政策

gcloud

如要查看專案中的客層政策清單,請使用 os-config guest-policies list 指令。

gcloud beta compute os-config guest-policies list

REST

在 API 中,建立目標為 projects.guestPolicies.list 方法的 GET 要求。將 PROJECT_ID 替換為您的專案 ID。

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies

刪除訪客政策

OS 設定代理程式偵測到觸發刪除客體政策時,系統會維持目前狀態,但不會再維護設定。舉例來說,假設您設定了訪客政策 package-update-zone2b,在 us-west2-b 區域的所有 VM 上安裝套件 my-package,並保留套件 UPDATED

刪除 package-update-zone2b 政策後,會發生下列變更:

  • us-west2-b 中所有已安裝 my-package 的 VM,都會繼續安裝 my-package。目前系統狀態不會還原。
  • 在日後所有 OS 設定代理程式執行作業中,政策刪除後會發生下列情況:

    • 如果將新的 VM 新增至 us-west2-b,系統不會在新 VM 上安裝 my-package
    • 如果執行個體已安裝 my-package,系統不會更新套件。

gcloud

如要刪除訪客政策,請使用 os-config guest-policies delete 指令。將 POLICY_ID 替換為要刪除的客層政策名稱。

gcloud beta compute os-config guest-policies delete POLICY_ID

REST

在 API 中建立目標為 projects.guestPolicies.delete 方法的 DELETE 要求。

DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • POLICY_ID:訪客政策名稱。

查看 VM 執行個體的設定

gcloud

如要查看套用至單一 VM 執行個體的政策,請使用 os-config guest-policies lookup 指令。

gcloud beta compute os-config guest-policies lookup VM_NAME \
    --zone=ZONE

更改下列內容:

  • VM_NAME:VM 執行個體的名稱。
  • ZONE:VM 執行個體的可用區

REST

如要查看套用至單一 VM 執行個體的政策,請使用下列 POST 要求。

POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:VM 執行個體的可用區
  • VM_NAME:VM 執行個體的名稱。

疑難排解

檢查訪客政策

您可以使用 Google Cloud 控制台或 Google Cloud CLI,檢查與專案相關聯的客層政策。

主控台

  1. 前往 Google Cloud 控制台的「OS Guest Policies」頁面。

    前往「OS Guest Policies」(OS 客體政策) 頁面

  2. 選取要檢查的訪客政策,然後按一下「查看詳細資料」

gcloud

  1. 使用 os-config guest-policies list 指令列出所有訪客政策。

    gcloud beta compute os-config guest-policies list
    
  2. 從訪客政策清單中,複製要檢查的訪客政策 ID,然後執行指令來檢查各項訪客政策。將 POLICY_ID 替換為要查看的政策 ID。

    gcloud beta compute os-config guest-policies describe POLICY_ID
    

檢查特定 VM 的客體政策

您可以針對特定 VM 執行 lookup 指令,查看適用於該 VM 的設定。

如果 VM 似乎未套用預期客體政策的要求,檢查指派項目包含該特定 VM 執行個體的客體政策清單,會很有幫助。這有助於判斷客層政策中的 Assignment 欄位是否與這個特定 VM 相符。

使用 os-config guest-policies lookup 指令列出可能以特定 VM 為目標的訪客政策。將 VM_NAME 替換為要檢查的 VM 名稱。

gcloud beta compute os-config guest-policies lookup VM_NAME

詳情請參閱「查看 VM 執行個體的設定」。

指令輸出內容可能會顯示訪客政策的 VM 指派屬性中,並未實際指定 VM。舉例來說,該執行個體可能不會列在 Labels 清單或 VM 名稱前置字串清單中。

從失敗中復原

系統不會重試安裝失敗的軟體配方。這是因為系統不知道失敗的軟體配方將項目留在哪個狀態。

偵錯失敗的軟體配方時,建議採取下列步驟:

  1. 重新命名軟體配方。
  2. 刪除並重新建立訪客政策,使用重新命名的軟體配方。

如需更多疑難排解步驟,請參閱「VM 管理員疑難排解」。

後續步驟