代理程式政策可讓您在符合使用者指定條件的一組 Compute Engine VM 中,自動安裝及維護作業套件代理程式。您可以為Google Cloud 專案建立政策,控管與該Google Cloud 專案相關聯的現有和新 VM,確保在這些 VM 上正確安裝及解除安裝 Ops Agent。
作業套件代理程式的代理程式政策
作業代理程式的代理程式政策支援服務分為正式發布版和 Beta 版兩種層級。這兩種政策都依賴 OS 設定功能 (由 VM 管理員提供),但實作方式不同。建議盡可能使用 Google Analytics 政策。在大多數情況下,您可以將 Beta 版政策轉換為正式版政策。
本節說明 Beta 版和正式版代理程式政策的差異。如要瞭解如何建立及管理代理程式政策,請參閱下列文章:
Beta 版和正式版代理程式政策的差異
Beta 版和正式版代理程式政策的差異如下:
建立機制
- Beta 版代理程式政策是使用下列項目建立:
- Google Cloud SDK 中的
gcloud beta compute instances ops-agents policies
指令群組。 agent-policy
Terraform 模組
- Google Cloud SDK 中的
- GA 代理程式政策是透過下列方式建立:
- Google Cloud SDK 中的
gcloud compute instances ops-agents policies
指令群組。 ops-agent-policy
Terraform 模組
- Google Cloud SDK 中的
- Beta 版代理程式政策是使用下列項目建立:
支援舊版 Monitoring 代理程式和 Logging 代理程式
- Beta 版代理程式政策可管理舊版 Monitoring 代理程式和 Logging 代理程式,以及作業套件代理程式。
- 正式發布的代理程式政策僅管理作業套件代理程式。
自動升級代理程式版本
- Beta 版代理程式政策可升級代理程式,確保代理程式維持在最新版本。
- 正式發布的代理程式政策不支援自動升級作業。如需替代方法,請參閱「取代 Beta 版代理程式升級政策」。
將政策套用至具名 Compute Engine 執行個體
- Beta 版代理程式政策可套用至具名執行個體清單。
- 正式發布版代理程式政策不支援具名執行個體。 如要瞭解如何透過 GA 政策取得相同行為,請參閱「將 Beta 版具名執行個體政策轉換為 GA 政策」。
在 Google Cloud 專案中,以全域或區域方式套用代理程式政策
- Beta 版代理程式政策會套用至 Google Cloud 專案中符合政策條件的所有執行個體。
- 政策指定區域中,符合政策條件的所有執行個體都會套用 GA 代理程式政策。舉例來說,在
us-central1-a
區域建立的政策不會影響其他區域的 VM。
Beta 版和正式版政策的結構也不同:
使用
gcloud beta compute instances ops-agents policies
建立的政策 將個別選項傳遞至指令,例如:gcloud beta compute instances ops-agents policies
create ops-agents-test-policy \ --agent-rules="type=logging,enable-autoupgrade=false;type=metrics,enable-autoupgrade=false" \ --description="A test policy." \ --os-types=short-name=centos,version=7 \ --instances=zones/us-central1-a/instances/test-instance \ --project PROJECT_ID代理程式政策 Terraform 模組提供相同功能。
使用
gcloud compute instances ops-agents policies
建立的政策會使用 YAML 設定檔和區域來描述代理程式政策,例如:gcloud compute instances ops-agents policies
create test-policy \ --zone us-central1-a \ --file test-policy.yaml \ --project PROJECT_IDops-agent-policy Terraform 模組提供相同功能。
同時使用 Beta 版和正式版政策
只要考量政策類型之間的差異,您就可以搭配 Ops Agent 使用 Beta 版和正式版代理程式政策。
Beta 版和正式版代理程式政策之間最大的行為差異在於,正式版政策是區域性政策,而 Beta 版代理程式政策是專案內的全球性政策。也就是說,正式版代理程式政策只會選取政策建立所在可用區的 VM,但 Beta 版政策可以選取Google Cloud 專案中的任何 VM。
如果 Beta 版政策選取一組 VM,正式版政策選取另一組 VM,則政策不會發生衝突。
您可以讓 Beta 版和正式版代理程式政策套用至同一部 VM,但必須確保政策用途不會衝突,例如 Beta 版政策安裝 Ops Agent,而正式版政策解除安裝 Ops Agent。
將 Beta 版政策轉換為正式版政策
只要政策類型之間沒有無法解決的差異,您就可以將 Ops Agent Beta 版代理程式政策轉換為正式版代理程式政策。您無法將舊版 Monitoring 代理程式或 Logging 代理程式的 Beta 版代理程式政策,轉換為正式發布版代理程式政策。
如要使用 Google Cloud SDK 將 Beta 版代理程式政策轉換為正式版政策,請按照下列步驟操作:
執行下列指令,產生專案中所有 Beta 版代理程式政策的清單:
gcloud beta compute instances ops-agents policies
list --project PROJECT_ID找出要轉換為正式版代理程式政策的 Beta 版代理程式政策。
針對您要轉換的每個 Beta 版政策,請執行下列操作:
建立 YAML 設定檔,盡可能接近 Beta 版政策,但請考量 Beta 版和正式版政策之間的差異。如要瞭解 YAML 設定格式,請參閱「說明代理程式政策」。
在需要政策的每個區域中,建立正式版 GA 代理程式政策。 如要瞭解如何建立正式版代理程式政策,請參閱「建立代理程式政策」。
執行下列指令,刪除 Beta 版代理程式政策:
gcloud beta compute instances ops-agents policies
delete POLICY_ID --project PROJECT_ID
您可能無法為 Ops Agent 編寫與現有 Beta 版代理程式政策完全相同的 Google Analytics 代理程式政策。不過,除了 Beta 版代理程式政策的自動升級選項外,您都可以獲得同等行為。
以下各節說明如何處理下列情況:
將 Beta 版具名執行個體政策轉換為正式版政策
如要轉換套用至具名 VM 執行個體集的 Beta 版代理程式政策,請按照下列步驟操作:
將標籤套用至要選取的 VM 集中的執行個體。 如要將標籤套用至現有 VM,請使用
gcloud compute instances add-labels
指令,如下列指令所示:gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUE
請說明 GA 代理程式政策,該政策會使用設定中的
instanceFilter
結構,選取具有新標籤的 VM。以下範例會建立名為config.yaml
的檔案,其中包含與上一個步驟套用的標籤相符的政策:cat > config.yaml << EOF agentsRule: packageState: installed version: 2.47.0 instanceFilter: inclusionLabels: - labels: KEY: VALUE EOF
如要進一步瞭解如何說明 GA 代理程式政策,請參閱代理程式政策的設定檔。
在每個有 VM 的區域中,建立具有新標籤的正式發布代理程式政策:
gcloud compute instances ops-agents policies
create POLICY_ID \ --zone ZONE \ --file config.yaml --project PROJECT_ID如要進一步瞭解如何建立正式發布的代理程式政策,請參閱「建立代理程式政策」。
取代 Beta 版代理程式升級政策
如要取代會升級代理程式的 Beta 版代理程式政策,您可以採取下列做法:
- 如要確保 Ops Agent 一律為最新版本,請使用 OS Patch 建立並執行 OS Patch 工作,讓代理程式維持在最新版本。
如要執行一次性升級,請按照下列步驟操作:
- 如要判斷作業套件代理程式的最新版本,請參閱 GitHub 上的作業套件代理程式版本資訊。
建立或修改代理程式政策,安裝最新版代理程式。 舉例來說,如果最新版本是 2.60.0,則可以使用類似下列內容的代理程式政策 YAML:
agentsRule: packageState: installed version: 2.60.0 instanceFilter: [...]
對各可用區的 VM 套用政策。
支援的作業系統
您可以對執行下列作業系統的 Compute Engine VM 執行個體套用代理程式政策:
作業系統 | 作業套件代理程式
(正式版和 Beta 版† 政策) |
記錄代理程式
(僅限 Beta 版† 政策) |
監控代理程式
(僅限 Beta 版† 政策) |
---|---|---|---|
CentOS 8 | |||
Rocky Linux 8 | |||
RHEL 6 | |||
RHEL 7: rhel-7、rhel-7-6-sap-ha、rhel-7-7-sap-ha、rhel-7-9-sap-ha |
‡ | ||
RHEL 8: rhel-8、rhel-8-4-sap-ha、rhel-8-6-sap-ha、rhel-8-8-sap-ha |
‡ | ||
Debian 9 (Stretch) | |||
Debian 11 (Bullseye) | |||
以 Debian 11 (Bullseye) 為基礎的深度學習 VM 映像檔 | |||
Ubuntu LTS 18.04 (Bionic Beaver): ubuntu-1804-lts、ubuntu-minimal-1804-lts |
|||
Ubuntu LTS 20.04 (Focal Fossa): ubuntu-2004-lts、ubuntu-minimal-2004-lts |
|||
Ubuntu LTS 22.04 (Jammy Jellyfish): buntu-2204-lts、ubuntu-minimal-2204-lts |
|||
SLES 12: sles-12、sles-12-sp5-sap |
|||
SLES 15: sles-15、sles-15-sp2-sap、sles-15-sp3-sap、 sles-15-sp4-sap、sles-15-sp5-sap、sles-15-sp6-sap |
|||
OpenSUSE Leap 15: opensuse-leap (opensuse-leap-15-3-*, opensuse-leap-15-4-*) |
|||
Windows Server: 2016、2019、2022、Core 2016、Core 2019、Core 2022 |
gcloud beta compute instances ops-agents policies
create
呼叫的代理程式類型:
- 作業套件代理程式會對應至代理程式類型
ops-agent
。 - 記錄代理程式會對應至代理程式類型
logging
。 - 監控代理程式會對應至代理程式類型
metrics
。
rhel-7-9-sap-ha
、rhel-8-2-sap-ha
或 rhel-8-4-sap-ha
。
後續步驟
如要瞭解如何使用代理程式政策管理 Ops Agent,請參閱下列文章: