Menginstal ekstensi VM dengan membuat kebijakan ekstensi

Dokumen ini menjelaskan cara membuat kebijakan ekstensi VM, yang memungkinkan Anda menginstal dan mengelola ekstensi secara otomatis di fleet virtual machine (VM) Compute Engine. Dengan menentukan kebijakan, Anda dapat memastikan bahwa ekstensi tertentu diinstal dan dikelola di VM mana pun yang sesuai dengan kriteria yang Anda tentukan, seperti label VM. Anda dapat membuat kebijakan ekstensi VM zona atau global di level project, atau di level organisasi dan folder (tersedia dalam Pratinjau).

Sebelum memulai

Batasan pembuatan kebijakan

Anda hanya dapat membuat kebijakan ekstensi VM cakupan folder dan cakupan organisasi menggunakan Google Cloud CLI atau Compute Engine REST API.

Prioritas kebijakan dan resolusi konflik

Jika beberapa kebijakan di berbagai level hierarki (organisasi, folder, atau project) berlaku untuk VM yang sama, level hierarki tidak menentukan prioritas. Sebagai gantinya, VM Extension Manager menggunakan prioritas kebijakan dan stempel waktu update untuk menyelesaikan konflik.

Jika dua kebijakan bertentangan untuk ekstensi yang sama, kebijakan dengan prioritas yang lebih tinggi akan diutamakan. Nilai prioritas berkisar dari 0 hingga 65535, dengan angka yang lebih rendah menandakan prioritas yang lebih tinggi. Prioritas defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM. Menghapus kebijakan tidak akan menghapus ekstensi jika kebijakan dengan prioritas lebih rendah masih berlaku untuk VM.

Menginstal ekstensi VM dengan membuat kebijakan ekstensi VM global

Anda dapat membuat kebijakan ekstensi VM global untuk menginstal ekstensi di VM di beberapa zona sesuai dengan rencana peluncuran. Anda dapat menentukan kebijakan global di level project, atau di level folder atau organisasi (tersedia dalam Pratinjau).

VM Extension Manager tidak menerapkan kebijakan ekstensi VM global secara langsung ke VM; sebagai gantinya, saat kebijakan diluncurkan, VM Extension Manager otomatis mereplikasi definisi global ke kebijakan zona yang sesuai di setiap zona berdasarkan rencana peluncuran. Setelah kebijakan yang direplikasi tersedia di suatu zona, VM Extension Manager akan mengevaluasi VM di zona tersebut berdasarkan label penyertaan kebijakan dan menginstal atau mengupdate ekstensi yang ditetapkan. Saat Anda membuat VM baru, VM Extension Manager akan otomatis mengevaluasi dan mengonfigurasinya.

Rencana peluncuran untuk kebijakan global

Kebijakan ekstensi VM global menggunakan rencana peluncuran untuk mengelola deployment ekstensi di berbagai lokasi. Anda dapat menggunakan salah satu rencana peluncuran yang telah ditetapkan atau membuat rencana peluncuran kustom.

Rencana peluncuran yang telah ditetapkan sebelumnya

Anda dapat memilih salah satu rencana peluncuran standar berikut:

  • slow_rollout: meluncurkan kebijakan selama lima hari. Peluncuran lambat adalah rencana peluncuran default.
  • fast_rollout: meluncurkan kebijakan segera ke semua zona.

Rencana peluncuran kustom

Anda dapat membuat rencana peluncuran kustom menggunakan metode rolloutPlans.insert. Misalnya, JSON berikut menentukan rencana peluncuran bernama test-rollout-plan yang menargetkan dua zona:

{
  "name": "test-rollout-plan",
  "waves": [
    {
      "selectors": [
        {
          "locationSelector": {
            "includedLocations": [
              "us-central1-a",
              "us-west1-a"
            ]
          }
        }
      ],
      "validation": {
        "type": "time",
        "timeBasedValidationMetadata": {
          "waitDuration": "0s"
        }
      },
      "orchestrationOptions": {
        "maxConcurrentResourcesPerLocation": "10",
        "maxConcurrentLocations": "10"
      }
    }
  ]
}

Kemudian, Anda dapat menggunakan rencana peluncuran kustom ini saat membuat kebijakan global.

Menginstal ekstensi VM di semua zona dalam organisasi

Buat kebijakan ekstensi global cakupan organisasi untuk menginstal dan mengelola ekstensi VM di semua zona di semua project turunan organisasi Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan organisasi, minta administrator untuk memberi Anda peran IAM Organization level Compute VM extension policies admin (roles/compute.orgVmExtensionPolicyAdmin) di organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin compute.orgVmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan organisasi.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi global cakupan organisasi, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan ekstensi VM global cakupan organisasi, gunakan perintah gcloud preview compute global-vm-extension-policies create dengan flag --organization:

gcloud preview compute global-vm-extension-policies create POLICY_NAME \
  --organization=organizations/ORGANIZATION_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • ORGANIZATION_ID: ID organisasi untuk kebijakan cakupan organisasi. Format resource-nya adalah organizations/{organization}/global/vmExtensionPolicies/{name}.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di semua project dan zona turunan di bawah organisasi.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_PLAN: tentukan slow_rollout atau fast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, tentukan flag --rollout-custom-plan, bukan --rollout-predefined-plan, menggunakan format berikut:
    --rollout-custom-plan=organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    Ganti kode berikut:

    • ORGANIZATION_ID: organisasi tempat rencana peluncuran ditentukan.
    • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan.

    Jika Anda tidak menentukan flag rencana peluncuran, VM Extension Manager akan menggunakan slow_rollout.

  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

Contoh: Membuat kebijakan global lingkup organisasi

Perintah berikut membuat kebijakan global berprioritas tinggi bernama prod-frontend-policy di tingkat organisasi (organizations/123456789) untuk workload frontend produksi (env=prod,workload=frontend), menyematkan versi tertentu untuk ekstensi ops-agent dengan rencana peluncuran lambat:

gcloud preview compute global-vm-extension-policies create prod-frontend-policy \
  --organization=organizations/123456789 \
  --description="Standard monitoring policy for production frontend VMs" \
  --extensions=ops-agent \
  --version=ops-agent=2.58.0 \
  --config=ops-agent="some-monitoring-config" \
  --inclusion-labels="env=prod,workload=frontend" \
  --priority=100 \
  --rollout-predefined-plan=slow_rollout

REST

Untuk membuat kebijakan ekstensi VM global cakupan organisasi, kirim permintaan POST ke metode organizationGlobalVmExtensionPolicies.insert:

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

Ganti kode berikut:

  • ORGANIZATION_ID: ID organisasi Anda.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghapus instanceSelectors, kebijakan akan menargetkan semua VM di semua project dan zona turunan dalam organisasi.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

  • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan. Untuk menggunakan rencana peluncuran yang telah ditentukan, ganti kolom name dengan predefinedRolloutPlan dan tentukan salah satu nilai berikut:
    • SLOW_ROLLOUT: meluncurkan kebijakan selama lima hari. Paket yang telah ditetapkan ini adalah rencana peluncuran default jika Anda tidak menentukan paket.
    • FAST_ROLLOUT: meluncurkan kebijakan segera ke semua zona.

Contoh: Membuat kebijakan global lingkup organisasi

Contoh berikut membuat kebijakan global bernama org-global-extension-policy yang menginstal ekstensi ops-agent untuk organisasi 123456789 di VM dengan label env=prod, dengan prioritas 100 dan rencana peluncuran yang telah ditetapkan SLOW_ROLLOUT:

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/global/vmExtensionPolicies

{
"name": "org-global-extension-policy",
"description": "Standard monitoring policy for organization VMs",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "100",
"rolloutOperation": {
  "rolloutInput": {
    "predefinedRolloutPlan": "SLOW_ROLLOUT"
  }
}
}

Menginstal ekstensi VM di semua zona dalam folder

Buat kebijakan ekstensi global cakupan folder untuk menginstal dan mengelola ekstensi VM di semua zona di semua project turunan folder Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan folder, minta administrator untuk memberi Anda peran IAM Folder level Compute VM extension policies admin (roles/compute.folderVmExtensionPolicyAdmin) di folder Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin compute.folderVmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan folder.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi global cakupan folder, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan ekstensi VM global cakupan folder, gunakan perintah gcloud preview compute global-vm-extension-policies create dengan flag --folder:

gcloud preview compute global-vm-extension-policies create POLICY_NAME \
  --folder=folders/FOLDER_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • FOLDER_ID: ID folder untuk kebijakan cakupan folder. Format resource-nya adalah folders/{folder}/global/vmExtensionPolicies/{name}.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di semua project dan zona turunan dalam folder.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_PLAN: tentukan slow_rollout atau fast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, tentukan flag --rollout-custom-plan, bukan --rollout-predefined-plan, menggunakan format berikut:
    --rollout-custom-plan=folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    Ganti kode berikut:

    • FOLDER_ID: folder tempat rencana peluncuran ditentukan.
    • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan.

    Jika Anda tidak menentukan flag rencana peluncuran, VM Extension Manager akan menggunakan slow_rollout.

  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

Contoh: Membuat kebijakan global cakupan folder

Perintah berikut membuat kebijakan global bernama folder-global-extension-policy di level folder (folders/123456) yang menginstal ekstensi ops-agent di VM dengan label env=prod menggunakan rencana peluncuran lambat:

gcloud preview compute global-vm-extension-policies create folder-global-extension-policy \
  --folder=folders/123456 \
  --description="Standard monitoring policy for folder VMs" \
  --extensions=ops-agent \
  --version=ops-agent=2.58.0 \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --inclusion-labels="env=prod" \
  --priority=100 \
  --rollout-predefined-plan=slow_rollout

REST

Untuk membuat kebijakan ekstensi VM global cakupan folder, kirim permintaan POST ke metode folderGlobalVmExtensionPolicies.insert:

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

Ganti kode berikut:

  • FOLDER_ID: ID folder Anda.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan instanceSelectors, kebijakan akan menargetkan semua VM di semua project dan zona turunan dalam folder.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

  • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan. Untuk menggunakan rencana peluncuran yang telah ditentukan, ganti kolom name dengan predefinedRolloutPlan dan tentukan salah satu nilai berikut:
    • SLOW_ROLLOUT: meluncurkan kebijakan selama lima hari. Paket yang telah ditetapkan ini adalah rencana peluncuran default jika Anda tidak menentukan paket.
    • FAST_ROLLOUT: meluncurkan kebijakan segera ke semua zona.

Contoh: Membuat kebijakan global cakupan folder

Contoh berikut membuat kebijakan global bernama folder-global-extension-policy yang menginstal ekstensi ops-agent untuk folder 123456 di VM dengan label env=prod, dengan prioritas 500 dan rencana peluncuran standar SLOW_ROLLOUT:

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/global/vmExtensionPolicies

{
"name": "folder-global-extension-policy",
"description": "Test extension policy for Ops Agent at folder level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "500",
"rolloutOperation": {
  "rolloutInput": {
    "predefinedRolloutPlan": "SLOW_ROLLOUT"
  }
}
}

Menginstal ekstensi VM di semua zona dalam project

Buat kebijakan ekstensi global cakupan project untuk menginstal dan mengelola ekstensi VM di semua zona dalam project Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan project, minta administrator untuk memberi Anda peran IAM Compute VM extension policies admin (roles/compute.vmExtensionPolicyAdmin) di project Anda. Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin compute.vmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan project.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi global cakupan project, pilih salah satu opsi berikut:

Konsol

Untuk membuat kebijakan ekstensi VM global cakupan project di konsol Google Cloud , selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman VM extension policies.

    Buka VM extension policies

  2. Klik Create extension policy.
  3. Di kolom Name, masukkan nama untuk kebijakan.
  4. Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.
  5. Di kolom Priority, tentukan nomor prioritas untuk menyelesaikan konflik antar-kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000.
  6. Di bagian Cakupan, pilih Peluncuran global.
  7. Di bagian Manage extensions, klik Add extension dan lakukan hal berikut untuk setiap ekstensi yang ingin Anda instal di VM target:
    1. Dari daftar Ekstensi, pilih ekstensi. Untuk mengetahui informasi selengkapnya, lihat Ekstensi yang didukung.
    2. Dari daftar Version, tentukan nomor versi ekstensi. Kosongkan untuk memilih versi terbaru.
      • Untuk Agen Operasional, Anda dapat menentukan versi 2.58.0 atau yang lebih baru.
      • Untuk Extension for SAP dan Extension for Compute Workloads, kosongkan kolom untuk memilih versi terbaru.
    3. Opsional: Di kolom Config file content, masukkan parameter konfigurasi untuk ekstensi.
  8. Di kolom Rencana peluncuran, pilih rencana peluncuran dari opsi berikut:
    • Peluncuran lambat: menginstal ekstensi secara bertahap di seluruh fleet VM Anda selama jangka waktu tertentu. Rencana peluncuran ini adalah opsi default.
    • Fast rollout: menginstal ekstensi ke semua VM yang ditargetkan di semua zona dan region secara langsung.

    Untuk mengetahui informasi selengkapnya tentang rencana peluncuran, lihat Rencana peluncuran.

  9. Di bagian Target VM instances, pilih VM untuk kebijakan. Untuk memilih VM dengan label tertentu, klik Tambahkan label dan tambahkan pasangan nilai kunci.
  10. Klik Create.

gcloud

Untuk membuat kebijakan ekstensi VM global cakupan project, gunakan perintah gcloud compute global-vm-extension-policies create:

gcloud compute global-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY \
  --rollout-predefined-plan=ROLLOUT_PLAN \
  --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • PROJECT_ID: project ID untuk kebijakan cakupan project.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di project Anda di semua zona.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_PLAN: tentukan slow_rollout atau fast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, tentukan flag --rollout-custom-plan, bukan --rollout-predefined-plan, menggunakan format berikut:
    --rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME

    Ganti kode berikut:

    • PROJECT_NUMBER: project tempat rencana peluncuran ditentukan.
    • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan.

    Jika Anda tidak menentukan flag rencana peluncuran, VM Extension Manager akan menggunakan slow_rollout.

  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

Contoh: Membuat kebijakan global lingkup project

Perintah berikut membuat kebijakan bernama global-test-extension-policy yang menginstal ekstensi ops-agent untuk project test-project. Flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasional, dan --rollout-predefined-plan menentukan paket slow_rollout.

gcloud compute global-vm-extension-policies create global-test-extension-policy \
  --project=test-project \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --rollout-predefined-plan=slow_rollout

Contoh: Membuat kebijakan global cakupan project dengan rencana peluncuran kustom

Perintah berikut akan membuat kebijakan bernama global-test-extension-policy-2 yang menginstal ekstensi ops-agent untuk project test-project di VM dengan label env=prod. Prioritas kebijakan ditetapkan ke 500, dan flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasional. Flag --rollout-custom-plan menentukan rencana peluncuran kustom.

gcloud compute global-vm-extension-policies create global-test-extension-policy-2 \
  --project=test-project \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod \
  --rollout-custom-plan=projects/12345678/locations/global/rolloutPlans/test-rollout-plan

REST

Untuk membuat kebijakan ekstensi VM global cakupan project, kirim permintaan POST ke metode globalVmExtensionPolicies.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY",
"rolloutOperation": {
  "rolloutInput": {
    "conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
    "name": "projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
  }
}
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan instanceSelectors, kebijakan akan menargetkan semua VM di project Anda di semua zona.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.
  • ROLLOUT_CONFLICT_BEHAVIOR: menentukan perilaku saat VM Extension Manager mendeteksi konflik antara kebijakan zona dan kebijakan global. Anda dapat menentukan salah satu perilaku konflik berikut:
    • "" (string kosong): kebijakan global tidak menimpa kebijakan zona yang bertentangan dan memiliki nama yang sama. Perilaku konflik ini adalah default.
    • overwrite: kebijakan global akan menimpa kebijakan zona yang memiliki nama yang sama, lalu pengelola kebijakan global akan mengelola peluncuran kebijakan di zona tersebut.

    Untuk mengetahui informasi selengkapnya, lihat flag --rollout-conflict-behavior.

  • PROJECT_NUMBER: project tempat rencana peluncuran kustom ditentukan.
  • ROLLOUT_PLAN_NAME: nama rencana peluncuran kustom yang Anda tentukan. Untuk menggunakan rencana peluncuran yang telah ditentukan, ganti kolom name dengan predefinedRolloutPlan dan tentukan salah satu nilai berikut:
    • SLOW_ROLLOUT: meluncurkan kebijakan selama lima hari. Paket yang telah ditetapkan ini adalah rencana peluncuran default jika Anda tidak menentukan paket.
    • FAST_ROLLOUT: meluncurkan kebijakan segera ke semua zona.

Contoh: Membuat kebijakan global lingkup project

Contoh berikut membuat kebijakan bernama global-test-extension-policy yang menginstal ekstensi ops-agent untuk project 12345678 di VM dengan label env=prod. Prioritas kebijakan ditetapkan ke 500, dan menggunakan rencana peluncuran test-rollout-plan.

POST https://compute.googleapis.com/compute/v1/projects/12345678/global/vmExtensionPolicies

{
"name": "global-test-extension-policy",
"description": "Test extension policy for Ops Agent",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "500",
"rolloutOperation": {
  "rolloutInput": {
    "name": "projects/12345678/locations/global/rolloutPlans/test-rollout-plan"
  }
}
}

Menginstal ekstensi VM dengan membuat kebijakan ekstensi VM zona

Anda dapat membuat kebijakan ekstensi VM zona untuk menentukan ekstensi yang akan diinstal dan di VM mana dalam zona tertentu. Anda dapat menentukan kebijakan zona di level project, atau di level folder atau organisasi (tersedia dalam Pratinjau).

Menginstal ekstensi VM di zona di seluruh organisasi

Buat kebijakan ekstensi zona cakupan organisasi untuk menginstal dan mengelola ekstensi VM di zona tertentu di semua project turunan organisasi Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan organisasi, minta administrator untuk memberi Anda peran IAM Organization level Compute VM extension policies admin (roles/compute.orgVmExtensionPolicyAdmin) di organisasi Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin compute.orgVmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan organisasi.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi zona cakupan organisasi, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan ekstensi VM zona cakupan organisasi dan meluncurkan kebijakan tersebut ke VM di zona tertentu, gunakan perintah gcloud preview compute zone-vm-extension-policies create dengan flag --organization:

gcloud preview compute zone-vm-extension-policies create POLICY_NAME \
  --organization=organizations/ORGANIZATION_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • ORGANIZATION_ID: ID organisasi untuk kebijakan cakupan organisasi. Format resource-nya adalah organizations/{organization}/zones/{zone}/vmExtensionPolicies/{name}.
  • ZONE: zona tempat kebijakan ini berlaku.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di zona yang ditentukan di semua project turunan dalam organisasi.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.

Contoh: Membuat kebijakan zona lingkup organisasi

Perintah berikut membuat kebijakan zona bernama org-test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk organisasi organizations/123456789 di VM dengan label env=prod:

gcloud preview compute zone-vm-extension-policies create org-test-extension-policy \
  --organization=organizations/123456789 \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=100 \
  --inclusion-labels=env=prod

REST

Untuk membuat kebijakan ekstensi VM zona cakupan organisasi, kirim permintaan POST ke metode organizationZoneVmExtensionPolicies.insert. Metode ini menentukan ekstensi yang akan diinstal dan VM yang akan diinstal di zona tertentu di seluruh organisasi.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

Ganti kode berikut:

  • ORGANIZATION_ID: ID organisasi Anda.
  • ZONE: zona tempat kebijakan ini berlaku.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghapus instanceSelectors, kebijakan akan menargetkan semua VM di zona yang ditentukan di semua project turunan dalam organisasi.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Contoh: Membuat kebijakan zona lingkup organisasi

Contoh berikut membuat kebijakan bernama org-test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk organisasi 123456789.

POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/zones/us-central1-f/vmExtensionPolicies

{
"name": "org-test-extension-policy",
"description": "Test extension policy for Ops Agent at organization level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "prod"
       }
    }
  }
],
"priority": "100"
}

Menginstal ekstensi VM di zona di seluruh folder

Buat kebijakan ekstensi zona cakupan folder untuk menginstal dan mengelola ekstensi VM di zona tertentu di semua project turunan folder Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan folder, minta administrator untuk memberi Anda peran IAM Folder level Compute VM extension policies admin (roles/compute.folderVmExtensionPolicyAdmin) di folder Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin compute.folderVmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan folder.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi zona cakupan folder, pilih salah satu opsi berikut:

gcloud

Untuk membuat kebijakan ekstensi VM zonal cakupan folder dan meluncurkan kebijakan ke VM di zona tertentu, gunakan perintah gcloud preview compute zone-vm-extension-policies create dengan flag --folder:

gcloud preview compute zone-vm-extension-policies create POLICY_NAME \
  --folder=folders/FOLDER_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • FOLDER_ID: ID folder untuk kebijakan cakupan folder. Format resource-nya adalah folders/{folder}/zones/{zone}/vmExtensionPolicies/{name}.
  • ZONE: zona tempat kebijakan ini berlaku.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di zona yang ditentukan di semua project turunan dalam folder.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.

Contoh: Membuat kebijakan zona tercakup folder

Perintah berikut membuat kebijakan zona bernama folder-test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk folder folders/123456 di VM dengan label env=prod:

gcloud preview compute zone-vm-extension-policies create folder-test-extension-policy \
  --folder=folders/123456 \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod

REST

Untuk membuat kebijakan ekstensi VM zona cakupan folder, kirim permintaan POST ke metode folderZoneVmExtensionPolicies.insert. Metode ini menentukan ekstensi yang akan diinstal dan VM mana di zona tertentu di seluruh folder.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

Ganti kode berikut:

  • FOLDER_ID: ID folder Anda.
  • ZONE: zona tempat kebijakan ini berlaku.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghapus instanceSelectors, kebijakan akan menargetkan semua VM di zona yang ditentukan di semua project turunan dalam folder.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Contoh: Membuat kebijakan zona tercakup folder

Contoh berikut membuat kebijakan bernama folder-test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk folder 123456.

POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/zones/us-central1-f/vmExtensionPolicies

{
"name": "folder-test-extension-policy",
"description": "Test extension policy for Ops Agent at folder level",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "test"
       }
    }
  }
],
"priority": "500"
}

Menginstal ekstensi VM di zona dalam project

Buat kebijakan ekstensi zonal cakupan project untuk menginstal dan mengelola ekstensi VM di zona tertentu dalam project Anda.

Izin IAM yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan ekstensi cakupan project, minta administrator untuk memberi Anda peran IAM Compute VM extension policies admin (roles/compute.vmExtensionPolicyAdmin) di project Anda. Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin compute.vmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi cakupan project.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk membuat kebijakan ekstensi zona cakupan project, pilih salah satu opsi berikut:

Konsol

Untuk membuat kebijakan ekstensi VM zona cakupan project di konsol Google Cloud , selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman VM extension policies.

    Buka VM extension policies

  2. Klik Create extension policy.
  3. Di kolom Name, masukkan nama untuk kebijakan.
  4. Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.
  5. Di kolom Priority, tentukan nomor prioritas untuk menyelesaikan konflik antar-kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000.
  6. Di bagian Scope, pilih Zonal rollout.
  7. Dalam daftar Region dan Zone, pilih region dan zona tempat VM Anda berada. VM Extension Manager menerapkan kebijakan ke VM di region dan zona yang dipilih.
  8. Di bagian Manage extensions, klik Add extension dan lakukan hal berikut untuk setiap ekstensi yang ingin Anda instal di VM target:
    1. Dari daftar Ekstensi, pilih ekstensi. Untuk mengetahui informasi selengkapnya, lihat Ekstensi yang didukung.
    2. Dari daftar Version, tentukan nomor versi ekstensi. Kosongkan untuk memilih versi terbaru.
      • Untuk Agen Operasional, Anda dapat menentukan versi 2.58.0 atau yang lebih baru.
      • Untuk Extension for SAP dan Extension for Compute Workloads, kosongkan kolom untuk memilih versi terbaru.
    3. Opsional: Di kolom Config file content, masukkan parameter konfigurasi untuk ekstensi.
  9. Di bagian Target VM instances, pilih VM untuk kebijakan. Untuk memilih VM dengan label tertentu, klik Tambahkan label dan tambahkan pasangan nilai kunci.
  10. Klik Create.

gcloud

Untuk membuat kebijakan ekstensi VM zona cakupan project dan meluncurkan kebijakan ke VM di zona tertentu, gunakan perintah gcloud compute zone-vm-extension-policies create:

gcloud compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --description="DESCRIPTION" \
  --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \
  --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \
  --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \
  --inclusion-labels=KEY_1=VALUE_1 \
  --priority=PRIORITY

Ganti kode berikut:

  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • PROJECT_ID: project ID untuk kebijakan cakupan project.
  • ZONE: zona tempat kebijakan ini berlaku.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1,EXTENSION_NAME_2: daftar ekstensi yang dipisahkan koma untuk ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar key-value pair yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini terletak di VM tempat Anda menjalankan perintah gcloud, bukan di VM tempat Anda menginstal ekstensi.

    Atau, untuk memberikan konfigurasi sebagai string inline, gunakan flag --config, bukan --config-from-file—misalnya, EXTENSION_NAME_1="CONFIG_1". Anda dapat menggunakan --config-from-file atau --config, tetapi tidak keduanya dalam perintah yang sama.

  • KEY_1=VALUE_1: daftar key-value pair yang dipisahkan koma, yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan --inclusion-labels beberapa kali, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan flag ini, kebijakan akan menargetkan semua VM di zona yang ditentukan dalam project Anda.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.

Contoh: Membuat kebijakan zona lingkup project

Perintah berikut akan membuat kebijakan bernama test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk project test-project. Flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasional.

gcloud compute zone-vm-extension-policies create test-extension-policy \
  --project=test-project \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml"

Contoh: Membuat kebijakan zona lingkup project dengan label penyertaan dan prioritas

Perintah berikut akan membuat kebijakan bernama test-extension-policy-2 yang menginstal ekstensi ops-agent di zona us-central1-f untuk project test-project di VM dengan label env=prod. Prioritas kebijakan ditetapkan ke 500, dan flag --config-from-file menentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasional.

gcloud compute zone-vm-extension-policies create test-extension-policy-2 \
  --project=test-project \
  --zone=us-central1-f \
  --extensions=ops-agent \
  --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
  --priority=500 \
  --inclusion-labels=env=prod

REST

Untuk membuat kebijakan ekstensi VM zona cakupan project, kirim permintaan POST ke metode zoneVmExtensionPolicies.insert. Metode ini menentukan ekstensi mana yang akan diinstal dan di VM mana dalam zona tertentu.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies

{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
   "EXTENSION_NAME_1": {
     "stringConfig": "EXTENSION_NAME_1_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_1_VERSION"
  },
   "EXTENSION_NAME_2": {
     "stringConfig": "EXTENSION_NAME_2_CONFIG",
     "pinnedVersion": "EXTENSION_NAME_2_VERSION"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "KEY_1": "VALUE_1"
       }
    }
  }
],
"priority": "PRIORITY"
}

Ganti kode berikut:

  • PROJECT_ID: project ID Anda.
  • ZONE: zona tempat kebijakan ini berlaku.
  • POLICY_NAME: nama untuk kebijakan ekstensi VM.
  • DESCRIPTION: deskripsi opsional untuk kebijakan.
  • EXTENSION_NAME_1, EXTENSION_NAME_2: nama ekstensi yang akan ditambahkan ke kebijakan. Anda harus menentukan setidaknya satu ekstensi. Anda dapat menentukan salah satu ekstensi yang didukung berikut:
    • ops-agent
    • google-cloud-sap-extension
    • google-cloud-workload-extension
  • EXTENSION_NAME_1_CONFIG, EXTENSION_NAME_2_CONFIG: konfigurasi untuk ekstensi, yang disediakan sebagai string inline.
  • EXTENSION_NAME_1_VERSION, EXTENSION_NAME_2_VERSION: versi ekstensi. Jika Anda tidak menentukan versi untuk ekstensi, VM Extension Manager akan menggunakan versi terbaru yang tersedia dan otomatis mengupgradenya saat versi baru tersedia.
  • KEY_1: VALUE_1: key-value pair yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih yang akan ditargetkan. Jika Anda menentukan beberapa instanceSelectors, kebijakan akan menargetkan VM yang cocok dengan salah satu pemilih yang disediakan (OR logis). Jika Anda menghilangkan instanceSelectors, kebijakan akan menargetkan semua VM di zona yang ditentukan dalam project Anda.
  • PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang paling baru diupdate ke VM.

Contoh: Membuat kebijakan zona lingkup project

Contoh berikut membuat kebijakan bernama test-extension-policy yang menginstal ekstensi ops-agent di zona us-central1-f untuk my-project.

POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/vmExtensionPolicies

{
"name": "test-extension-policy",
"description": "Test extension policy for Ops Agent",
"extensionPolicies": {
   "ops-agent": {
     "stringConfig": "logging:
      receivers:
        systemd_logs:
          type: systemd_journald
      service:
        pipelines:
          systemd_pipeline:
            receivers: [systemd_logs]",
     "pinnedVersion": "2.58.0"
  }
},
"instanceSelectors": [
  {
    "labelSelector": {
       "inclusionLabels": {
         "env": "test"
       }
    }
  }
],
"priority": "500"
}

Langkah berikutnya