本文將概要說明 VM 擴充功能管理工具中的全域政策。透過全域擴充功能政策,您可以在專案內管理多個區域和地區的擴充功能。套用全域政策後,VM 擴充功能管理工具會確保符合政策條件的任何區域或可用區中的 VM,都已安裝並執行指定的擴充功能。
詳情請參閱「關於 VM 擴充功能管理工具」。
下圖說明如何使用全域擴充功能政策,將擴充功能套用至專案中不同區域和地區的 VM:
如上圖所示,您可以在專案層級定義全域擴充功能政策。VM 擴充功能管理工具會將這項政策套用至符合所選條件的所有 VM。舉例來說,您可以選取專案中所有可用區和區域的 env=prod 標籤 VM。在這種情況下,VM 擴充功能管理工具只會將您指定的擴充功能 (例如 Ops Agent 和 Extension for SAP) 套用至這些 VM。
全域政策的推出計畫
全域政策會使用推出計畫,管理跨可用區和區域的擴充功能部署作業。推出計畫可讓您控管擴充功能的部署作業,盡量減少大規模問題的風險。您可以透過推出計畫定義更新順序和時間,確保逐步且有條不紊地推出更新。
建立或更新全域政策時,您可以指定下列其中一項推出計畫:
- 緩慢推出。這項異動會逐步在不同區域推出,這項推出作業的預設時間為五天。建議您採取這種做法,因為這樣一來,您就能在早期推出時找出並解決潛在問題,避免影響整個機群。
- 快速推出:這項推出作業會立即將擴充功能部署至所有區域和地區的所有目標 VM。如果您需要在非正式環境中快速部署擴充功能或修補程式,這個方法就非常實用。
您也可以定義自訂推出計畫,根據區域或地區指定部署階段,以及各階段之間的等待時間。詳情請參閱 rolloutPlans.insert 方法。
推出衝突行為
建立或更新全域擴充功能政策時,可能會在下列情況發生衝突:
- 建立全域政策時,如果區域中已有名稱與全域政策相同的區域政策,就會發生政策名稱衝突。
- 更新全域政策時。如果現有的區域政策是在全球政策推出後,獨立修改而未與全球政策同步,就會發生政策內容衝突。舉例來說,如果您使用區域 API 呼叫修改區域政策,後續的全球政策推出作業嘗試修改同一項區域政策時,就會發生衝突。
為避免這些衝突,您可以為推出作業指定衝突行為。這項設定決定推出作業期間,全域政策是否應覆寫衝突的區域政策。您可以指定下列其中一種行為:
- 不要覆寫 (預設):如未指定衝突行為,全域政策推出時不會覆寫衝突的區域政策。在該可用區中,可用區政策的設定優先順序最高。
- 覆寫。如果將衝突行為設為
overwrite,全域政策會覆寫衝突的區域政策,且全域政策的設定會套用至該區域。
推出衝突和政策優先順序是不同的功能,可獨立運作。如要進一步瞭解政策優先順序,請參閱「政策優先順序和衝突解決方式」。
如要進一步瞭解推出衝突,請參閱 globalVmExtensionPolicies.insert 方法中的 conflictBehavior 參數。
重試推出作業
更新或刪除全域擴充功能政策時,VM 擴充功能管理工具會根據推出計畫啟動新的推出作業,以套用變更。如果推出作業中斷,或新增區域,您可以為相同政策啟動新的推出作業,藉此重試作業。
重試更新政策發布作業
以下列出可能需要重試更新政策推出作業的情況:
- 新增區域。如果您在推出全域政策後,有新的 Google Cloud 區域開放使用,VM 擴充功能管理工具不會自動將現有政策套用至新區域中的 VM。您可以重試更新推出作業,將擴充功能政策套用至新區域中的 VM。
- 還原區域政策變更。如果區域政策是獨立修改 (例如使用區域 API 呼叫修改區域政策),您可以將
conflictBehavior設為overwrite,然後重試更新推出作業。這項設定會重新套用全域政策的設定,並覆寫區域政策變更。 - 中斷推出。如果先前的推出作業在完成前失敗,您可以啟動新的推出作業,重試更新。
- 加快推出速度。如果階段性推出作業進展緩慢,您可以透過
FAST_ROLLOUT方案或自訂推出方案啟動新的推出作業,加快更新程序。
詳情請參閱 globalVmExtensionPolicies.update 方法中的 retryUuid 參數。
重試推出時,您必須提供通用唯一識別碼 (UUID),以識別重試要求。
您可以使用任何 UUID 產生器建立 UUID。UUID 必須採用 32 個半形字元的十六進位格式,例如 a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8。
重試推出刪除政策
以下列出可能需要重試推出作業才能刪除政策的情況:
- 中斷推出。如果先前刪除政策的推出作業中斷或未順利完成,您可以啟動新的推出作業,重試刪除作業。
- 加快推出速度。如果正在進行的刪除作業推出速度過慢,您可以透過
FAST_ROLLOUT方案或自訂推出方案啟動新的推出作業,加快刪除程序。
詳情請參閱 globalVmExtensionPolicies.delete 方法中的 retryUuid 參數。
後續步驟
如要進一步瞭解如何管理擴充功能,請參閱下列資源: