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

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

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

作業代理程式支援的代理程式政策有兩種版本:正式版和 Beta 版。這兩種政策都仰賴 VM 管理員提供的 OS 設定功能,但實作方式不同。建議您盡可能使用 GA 政策。在大多數情況下,您可以將 Beta 版政策轉換為 GA 政策

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

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

這兩種政策的差異如下:

  • 建立機制

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

    • Beta 版代理程式政策可管理舊版 Monitoring 代理程式、Logging 代理程式和作業套件代理程式。
    • GA 代理程式政策只會管理作業套件代理程式。
  • 自動升級代理程式版本

    • Beta 版代理程式政策可透過升級代理程式,讓代理程式維持在最新版本。
    • GA 代理程式政策不支援自動升級作業。如需其他方法,請參閱「取代 Beta 版代理程式升級政策」。
  • 將政策套用至已命名的 Compute Engine 執行個體

  • 在 Google Cloud 專案中全域或區域套用代理程式政策

    • Beta 版代理程式政策會全域套用至 Google Cloud 專案中依政策條件選取的所有執行個體。
    • GA 代理程式政策會套用至政策指定區域內,依政策條件選取的所有執行個體。舉例來說,在 us-central1-a 區域建立的政策不會影響其他區域的 VM。

測試版和 GA 政策在結構上也有所不同:

  • 使用 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
    

    agent-policy 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 版和 GA 政策

您可以將 Beta 版和 GA 代理程式政策搭配使用,前提是您必須考量政策類型之間的差異

Beta 版和 GA 代理程式政策最大的行為差異在於,GA 政策是區域性的,而 Beta 版代理程式政策則是專案內的全球性政策。也就是說,GA 代理程式政策只會選取建立政策的可用區中的 VM,但 Beta 版政策則可選取Google Cloud 專案中的任何 VM。

如果 Beta 版政策選取一組 VM,而 GA 版政策選取另一組 VM,則兩者不會發生衝突。

您可以將 Beta 版和 GA 代理程式政策套用至相同的 VM,但必須確保政策的用途不會互相衝突,例如,安裝 Ops Agent 的 Beta 版政策和解除安裝 Ops Agent 的 GA 政策。

將 Beta 版政策轉換為 GA 政策

只要政策類型之間沒有差異,您就可以將 Ops Agent Beta 代理程式政策轉換為 GA 代理程式政策。您無法將舊版監控代理程式或記錄代理程式的 Beta 版代理程式政策轉換為 GA 代理程式政策。

如要使用 Google Cloud SDK 將 Beta 版代理程式政策轉換為 GA 政策,請執行下列操作:

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

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

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

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

    2. 在需要 GA 代理程式政策的每個可用區中建立政策。如要瞭解如何建立 Google Analytics 代理程式政策,請參閱「建立代理程式政策」一文。

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

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

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

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

將 Beta 版命名執行個體政策轉換為 GA 政策

如要將套用至一組 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 的區域中,建立 GA 代理程式政策:

    gcloud compute instances ops-agents policies create POLICY_ID \
      --zone ZONE \
      --file config.yaml
      --project PROJECT_ID
    

    如要進一步瞭解如何建立 GA 代理程式政策,請參閱「建立代理程式政策」。

替換 Beta 版代理程式升級政策

如要取代升級代理程式的 Beta 版代理程式政策,您可以使用下列選項:

  • 為確保 Ops Agent 一律為最新版本,請使用 OS Patch 建立並執行OS Patch 工作,讓代理程式保持在最新版本。
  • 如要執行一次性升級,請按照下列步驟操作:

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

      agentsRule:
        packageState: installed
        version: 2.57.0
      instanceFilter:
      [...]
      
    3. 將政策套用至各個可用區的 VM。

支援的作業系統

您可以將代理程式政策套用至執行下列表格中作業系統的 Compute Engine VM 執行個體:

作業系統 作業套件代理程式
(GA 和 beta 版 政策)
Logging 代理程式
(僅限 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 代理程式會對應至代理程式類型 logging
  • 監控代理程式會對應至代理程式類型 metrics
 Monitoring 代理程式不支援 rhel-7-9-sap-harhel-8-2-sap-harhel-8-4-sap-ha

後續步驟

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