Dokumen ini menjelaskan cara membuat kebijakan ekstensi VM, yang memungkinkan Anda menginstal dan mengelola ekstensi secara otomatis di sejumlah mesin virtual (VM) Compute Engine. Dengan menentukan kebijakan, Anda dapat memastikan bahwa ekstensi tertentu diinstal dan dikelola di VM mana pun yang cocok dengan kriteria yang Anda tentukan, seperti label VM.
Sebelum memulai
- Instal komponen beta
dengan menjalankan perintah berikut:
gcloud components install beta
- Tinjau dasar-dasar tentang VM Extension Manager.
- Tinjau kuota VM Extension Manager.
- Aktifkan Compute Engine API di Google Cloud project Anda jika belum diaktifkan.
- Pastikan VM Anda menjalankan versi agen tamu
20241209.01atau yang lebih baru. - Untuk melihat log debug untuk peristiwa VM Extension Manager, konfigurasi setelan log untuk agen tamu.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
- Set a default region and zone.
Peran IAM yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat kebijakan ekstensi, minta administrator untuk memberi Anda peran IAM VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin). Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.Peran bawaan ini berisi izin
compute.vmExtensionPolicies.create, yang diperlukan untuk membuat kebijakan ekstensi.Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM di Compute Engine, lihat Peran dan izin Compute Engine.
Prioritas kebijakan dan resolusi konflik
Jika beberapa kebijakan berlaku untuk VM yang sama, VM Extension Manager akan menggunakan prioritas kebijakan 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 menunjukkan prioritas yang lebih tinggi. Prioritas defaultnya adalah 1000. Jika beberapa kebijakan memiliki prioritas yang sama, VM Extension Manager akan menerapkan kebijakan yang baru saja diupdate ke VM. Menghapus kebijakan tidak akan menghapus ekstensi jika kebijakan dengan prioritas lebih rendah masih berlaku untuk VM.
Membuat kebijakan ekstensi VM global
Anda dapat membuat kebijakan ekstensi VM global untuk menginstal ekstensi di VM di beberapa zona dalam project Anda sesuai dengan rencana peluncuran. Kebijakan ekstensi VM global tidak diterapkan secara langsung ke VM; sebagai gantinya, saat kebijakan diluncurkan, VM Extension Manager membuat kebijakan di setiap zona berdasarkan rencana peluncuran. Kebijakan ini kemudian mengelola penginstalan ekstensi di VM dalam zona masing-masing.
Anda dapat menggunakan gcloud atau metode
globalVmExtensionPolicies.insertuntuk membuat kebijakan ekstensi global.Tentang rencana peluncuran
Kebijakan ekstensi VM global menggunakan rencana peluncuran untuk mengelola deployment ekstensi di berbagai lokasi. Anda dapat menggunakan salah satu rencana peluncuran yang telah ditentukan sebelumnya atau membuat rencana peluncuran kustom.
Rencana peluncuran standar
slow_rollout: Meluncurkan kebijakan selama lima hari. Peluncuran lambat adalah rencana peluncuran default.fast_rollout: Segera meluncurkan kebijakan ke semua zona.
Rencana peluncuran kustom
Anda dapat membuat rencana peluncuran kustom menggunakan metode
rolloutPlans.insert. Misalnya, JSON berikut menentukan rencana peluncuran bernamatest-rollout-planyang 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, seperti yang ditunjukkan dalam Contoh 2.
Membuat kebijakan global
Gunakan perintah
gcloud beta compute global-vm-extension-policies createuntuk membuat kebijakan ekstensi VM global:gcloud beta compute global-vm-extension-policies create POLICY_NAME
--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_BEHAVIORGanti kode berikut:
POLICY_NAME: nama untuk kebijakan ekstensi VM.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. Nilai yang valid untuk ekstensi adalah:ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar pasangan nilai kunci 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 mengupgradenya secara otomatis saat versi baru tersedia.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar pasangan nilai kunci yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. File ini berada di VM tempat Anda menjalankan perintahgcloud, 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-fileatau--config, tetapi tidak keduanya dalam perintah yang sama.KEY_1=VALUE_1: daftar pasangan nilai kunci yang dipisahkan koma yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih agar dapat menjadi target. Jika Anda menentukan--inclusion-labelsbeberapa kali, kebijakan menargetkan VM yang cocok dengan salah satu pemilih yang diberikan (OR logis). Jika Anda tidak menyertakan flag ini, kebijakan akan menargetkan semua VM di project Anda di semua zona.PRIORITY: bilangan bulat yang menentukan prioritas kebijakan. Angka yang lebih besar menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 0. Jika beberapa kebijakan memiliki prioritas yang sama, kebijakan yang terakhir diperbarui akan diterapkan ke VM.ROLLOUT_PLAN: tentukanslow_rolloutataufast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, gunakan flag--rollout-custom-planbukan--rollout-predefined-plandan tentukan nama rencana, misalnya:--rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAMEGanti kode berikut:
PROJECT_NUMBER: Project tempat rencana peluncuran ditentukan.ROLLOUT_PLAN_NAME: Nama rencana peluncuran kustom yang Anda tentukan. Jika tidak ada flag rencana peluncuran yang ditentukan,slow_rolloutakan digunakan.
ROLLOUT_CONFLICT_BEHAVIOR: Menentukan perilaku saat konflik terdeteksi antara kebijakan zonal dan global. Nilainya dapat berupa:""(string kosong): Nilai kebijakan zonal digunakan.overwrite: Kebijakan global menggantikan kebijakan per zona.Untuk mengetahui detail selengkapnya, lihat flag
--rollout-conflict-behavior.
Contoh 1
Perintah berikut membuat kebijakan bernama
global-test-extension-policyyang menginstal ekstensiops-agentuntuk projecttest-project. Flag--config-from-filemenentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Ops Agent, dan--rollout-predefined-planmenentukan paketslow_rollout.gcloud beta 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 2
Perintah berikut akan membuat kebijakan bernama
global-test-extension-policy-2yang menginstal ekstensiops-agentuntuk projecttest-projectdi VM dengan labelenv=prod. Prioritas kebijakan ditetapkan ke500, dan flag--config-from-filemenentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasi. Flag--rollout-custom-planmenentukan rencana peluncuran kustom.gcloud beta 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
Membuat kebijakan ekstensi VM zona
Gunakan salah satu metode berikut untuk membuat kebijakan ekstensi VM zonal. Kebijakan zonal ini menentukan ekstensi mana yang akan diinstal dan di VM mana di zona tertentu.
Konsol
- Di konsol Google Cloud , buka halaman VM extension policies.
- Klik Create extension policy.
- Di kolom Name, masukkan nama untuk kebijakan.
- Opsional: Di kolom Description, masukkan deskripsi untuk kebijakan.
- Di kolom Priority, tentukan nomor prioritas untuk menyelesaikan konflik antar-kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1.000.
- Dalam daftar Zone, pilih zona tempat Anda ingin menerapkan kebijakan ini.
- Di bagian Ekstensi, klik Tambahkan ekstensi dan lakukan hal berikut untuk setiap ekstensi yang ingin Anda instal di VM target:
- Dari daftar Ekstensi, pilih ekstensi. Lihat Ekstensi yang didukung.
- Dari daftar Versi, tentukan nomor versi ekstensi. Kosongkan
untuk memilih versi terbaru.
- Untuk Ops Agent, Anda dapat menentukan versi
2.58.0atau yang lebih baru. - Untuk workload Extension for SAP dan Extension for Compute, kosongkan kolom ini untuk memilih versi terbaru.
- Untuk Ops Agent, Anda dapat menentukan versi
- Opsional: Di kolom Config file content, masukkan parameter konfigurasi untuk ekstensi.
- Di bagian Target VM instances, pilih VM untuk kebijakan. Untuk memilih VM dengan label tertentu, klik Tambahkan label dan tambahkan pasangan nilai kunci.
- Klik Create.
gcloud
Untuk membuat kebijakan ekstensi VM zonal dan meluncurkan kebijakan ke VM di zona tertentu, gunakan perintah
gcloud beta compute zone-vm-extension-policies create:gcloud beta compute zone-vm-extension-policies create POLICY_NAME \ --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.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. Nilai yang valid untuk ekstensi adalah:ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: daftar pasangan nilai kunci 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 mengupgradenya secara otomatis saat versi baru tersedia.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: daftar pasangan nilai kunci yang dipisahkan koma, dengan kunci adalah nama ekstensi dan nilai adalah jalur ke file konfigurasi untuk ekstensi tersebut. Jalur ini ada di VM tempat Anda menjalankan perintahgcloud, 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-fileatau--config, tetapi tidak keduanya dalam perintah yang sama.KEY_1=VALUE_1: daftar pasangan nilai kunci yang dipisahkan koma yang menentukan label penyertaan untuk pemilih. VM harus memiliki semua label yang ditentukan dalam pemilih agar dapat menjadi target. Jika Anda menentukan--inclusion-labelsbeberapa kali, kebijakan menargetkan VM yang cocok dengan salah satu pemilih yang diberikan (OR logis). Jika Anda menghapus flag ini, kebijakan akan menargetkan semua VM di zona yang ditentukan.PRIORITY: bilangan bulat dari 0 hingga 65535 yang menentukan prioritas kebijakan. Angka yang lebih rendah menunjukkan prioritas yang lebih tinggi. Nilai defaultnya adalah 1.000.Perintah akan gagal jika kebijakan dengan nama yang ditentukan sudah ada di zona.
Contoh 1
Perintah berikut akan membuat kebijakan bernama
test-extension-policyyang menginstal ekstensiops-agentdi zonaus-central1-funtuk projecttest-project. Flag--config-from-filemenentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Ops Agent.gcloud beta 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 2
Perintah berikut akan membuat kebijakan bernama
test-extension-policy-2yang menginstal ekstensiops-agentdi zonaus-central1-funtuk projecttest-projectdi VM dengan labelenv=prod. Prioritas kebijakan ditetapkan ke500, dan flag--config-from-filemenentukan jalur ke file lokal yang berisi konfigurasi YAML untuk Agen Operasi.gcloud beta 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
Langkah berikutnya
- Pelajari cara mengelola ekstensi VM.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2026-01-24 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2026-01-24 UTC."],[],[]] -