管理訪客政策 (舊版)

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

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

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

事前準備

  • 查看 OS Config 配額
  • 如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 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.

    REST

    To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.

    For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

更新訪客政策

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

  1. 更新 YAML 或 JSON 檔案。
  2. 執行更新或修補指令。更新程序與建立程序類似,但會額外支援etags,可用於並行處理和一致性控管。

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-bmy-package 就不會安裝在這個新的 VM 上。
    • 如果執行個體已安裝 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 管理員疑難排解」。

後續步驟