作業套件代理程式代理程式政策總覽

代理程式政策可讓您在符合使用者指定條件的一組 Compute Engine VM 中,自動安裝及維護作業套件代理程式。您可以為Google Cloud 專案建立政策,控管與該Google Cloud 專案相關聯的現有和新 VM,確保在這些 VM 上正確安裝及解除安裝 Ops Agent。

作業套件代理程式的代理程式政策

作業代理程式的代理程式政策支援服務分為正式發布版和 Beta 版兩種層級。這兩種政策都依賴 OS 設定功能 (由 VM 管理員提供),但實作方式不同。建議盡可能使用 Google Analytics 政策。在大多數情況下,您可以將 Beta 版政策轉換為正式版政策

本節說明 Beta 版和正式版代理程式政策的差異。如要瞭解如何建立及管理代理程式政策,請參閱下列文章:

Beta 版和正式版代理程式政策的差異

Beta 版和正式版代理程式政策的差異如下:

  • 建立機制

  • 支援舊版 Monitoring 代理程式和 Logging 代理程式

    • Beta 版代理程式政策可管理舊版 Monitoring 代理程式和 Logging 代理程式,以及作業套件代理程式。
    • 正式發布的代理程式政策僅管理作業套件代理程式。
  • 自動升級代理程式版本

    • Beta 版代理程式政策可升級代理程式,確保代理程式維持在最新版本。
    • 正式發布的代理程式政策不支援自動升級作業。如需替代方法,請參閱「取代 Beta 版代理程式升級政策」。
  • 將政策套用至具名 Compute Engine 執行個體

  • 在 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_ID
    

    ops-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 版代理程式政策轉換為正式版政策,請按照下列步驟操作:

  1. 執行下列指令,產生專案中所有 Beta 版代理程式政策的清單:

    gcloud beta compute instances ops-agents policies list --project PROJECT_ID
    
  2. 找出要轉換為正式版代理程式政策的 Beta 版代理程式政策。

  3. 針對您要轉換的每個 Beta 版政策,請執行下列操作:

    1. 建立 YAML 設定檔,盡可能接近 Beta 版政策,但請考量 Beta 版和正式版政策之間的差異。如要瞭解 YAML 設定格式,請參閱「說明代理程式政策」。

    2. 在需要政策的每個區域中,建立正式版 GA 代理程式政策。 如要瞭解如何建立正式版代理程式政策,請參閱「建立代理程式政策」。

    3. 執行下列指令,刪除 Beta 版代理程式政策:

      gcloud beta compute instances ops-agents policies delete POLICY_ID --project PROJECT_ID
      

您可能無法為 Ops Agent 編寫與現有 Beta 版代理程式政策完全相同的 Google Analytics 代理程式政策。不過,除了 Beta 版代理程式政策的自動升級選項外,您都可以獲得同等行為。

以下各節說明如何處理下列情況:

將 Beta 版具名執行個體政策轉換為正式版政策

如要轉換套用至具名 VM 執行個體集的 Beta 版代理程式政策,請按照下列步驟操作:

  1. 將標籤套用至要選取的 VM 集中的執行個體。 如要將標籤套用至現有 VM,請使用 gcloud compute instances add-labels 指令,如下列指令所示:

    gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUE
    
  2. 請說明 GA 代理程式政策,該政策會使用設定中的 instanceFilter 結構,選取具有新標籤的 VM。以下範例會建立名為 config.yaml 的檔案,其中包含與上一個步驟套用的標籤相符的政策:

    cat > config.yaml << EOF
    agentsRule:
      packageState: installed
      version: 2.47.0
    instanceFilter:
      inclusionLabels:
      - labels:
        KEY: VALUE
    EOF
    

    如要進一步瞭解如何說明 GA 代理程式政策,請參閱代理程式政策的設定檔

  3. 在每個有 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 工作,讓代理程式維持在最新版本。
  • 如要執行一次性升級,請按照下列步驟操作:

    1. 如要判斷作業套件代理程式的最新版本,請參閱 GitHub 上的作業套件代理程式版本資訊
    2. 建立或修改代理程式政策,安裝最新版代理程式。 舉例來說,如果最新版本是 2.60.0,則可以使用類似下列內容的代理程式政策 YAML:

      agentsRule:
        packageState: installed
        version: 2.60.0
      instanceFilter:
      [...]
      
    3. 對各可用區的 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
  在 Beta 版代理程式政策中,代理程式欄會對應至指定給 gcloud beta compute instances ops-agents policies create 呼叫的代理程式類型
  • 作業套件代理程式會對應至代理程式類型 ops-agent
  • 記錄代理程式會對應至代理程式類型 logging
  • 監控代理程式會對應至代理程式類型 metrics
 Monitoring 代理程式不支援 rhel-7-9-sap-harhel-8-2-sap-harhel-8-4-sap-ha

後續步驟

如要瞭解如何使用代理程式政策管理 Ops Agent,請參閱下列文章: