VM Extension Manager menggunakan kebijakan ekstensi untuk mengelola ekstensi VM Anda dalam skala besar. Untuk mengetahui informasi selengkapnya, lihat artikel Tentang VM Extension Manager. Dokumen ini menjelaskan cara melihat, mengupdate, dan menghapus kebijakan ekstensi VM.
Peran dan izin IAM
Untuk mendapatkan izin yang diperlukan untuk melihat, mengubah, dan menghapus kebijakan ekstensi VM, minta administrator untuk memberi Anda peran IAM berikut pada project:
-
Untuk melihat kebijakan ekstensi:
-
VM Extension Policy Viewer (
roles/compute.vmExtensionPolicyViewer) -
VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin)
-
VM Extension Policy Viewer (
-
Untuk mengubah kebijakan ekstensi:
VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin) -
Untuk menghapus kebijakan ekstensi:
VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk melihat, mengubah, dan menghapus kebijakan ekstensi VM. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melihat, mengubah, dan menghapus kebijakan ekstensi VM:
-
Untuk melihat kebijakan ekstensi:
compute.vmExtensionPolicies.list -
Untuk melihat detail kebijakan ekstensi:
compute.vmExtensionPolicies.get -
Untuk mengubah kebijakan ekstensi:
compute.vmExtensionPolicies.update -
Untuk menghapus kebijakan ekstensi:
compute.vmExtensionPolicies.delete
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.
Melihat kebijakan ekstensi
Anda dapat melihat daftar kebijakan ekstensi VM di project, atau melihat detail kebijakan tertentu menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
- Di konsol Google Cloud , buka halaman VM extension policies. Halaman ini mencantumkan semua kebijakan ekstensi VM dalam project Anda.
- Untuk melihat detail kebijakan ekstensi tertentu, klik nama kebijakan.
gcloud
Global
Untuk melihat semua kebijakan ekstensi global dalam sebuah project, gunakan perintah gcloud beta compute global-vm-extension-policies list:
gcloud beta compute global-vm-extension-policies list \ --project=PROJECT_ID \ --page-size=PAGE_SIZE
Ganti kode berikut:
PROJECT_ID: ID Google Cloud project Anda.PAGE_SIZE: jumlah maksimum hasil yang akan ditampilkan per halaman.
Untuk melihat detail kebijakan ekstensi global tertentu, gunakan perintah gcloud beta compute global-vm-extension-policies describe:
gcloud beta compute global-vm-extension-policies describe POLICY_NAME \ --project=PROJECT_ID
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang ingin Anda deskripsikan.PROJECT_ID: Google Cloud Project ID Anda.
Zonal
Untuk melihat semua kebijakan ekstensi dalam project, gunakan perintah gcloud beta compute zone-vm-extension-policies list:
gcloud beta compute zone-vm-extension-policies list \ --project=PROJECT_ID \ --zone=ZONE \ --page-size=PAGE_SIZE
Ganti kode berikut:
PROJECT_ID: ID Google Cloud project Anda.ZONE: nama zona tempat Anda ingin mencantumkan kebijakan ekstensi VM.PAGE_SIZE: jumlah maksimum hasil yang akan ditampilkan per halaman.
Untuk melihat detail kebijakan ekstensi tertentu, gunakan perintah gcloud beta compute zone-vm-extension-policies describe:
gcloud beta compute zone-vm-extension-policies describe POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang ingin Anda deskripsikan.PROJECT_ID: Google Cloud Project ID Anda.ZONE: Google Cloud zona tempat kebijakan ekstensi VM berada.
Mengubah ekstensi dengan memperbarui kebijakan ekstensi VM
Saat Anda mengupdate kebijakan, VM Extension Manager akan meluncurkan perubahan ke semua VM yang berlaku, biasanya dalam waktu satu menit. Jika Anda mengubah label penyertaan, ekstensi mungkin diinstal di VM baru atau di-uninstal dari VM yang ada berdasarkan apakah ekstensi tersebut cocok dengan label yang diperbarui.
Konsol
- Di konsol Google Cloud , buka halaman VM extension policies.
- Pilih kebijakan yang ingin Anda perbarui.
- Klik Edit.
- Ubah Deskripsi, Prioritas, Ekstensi, atau Target VM instances.
- Klik Simpan.
gcloud
Global
Gunakan perintah gcloud beta compute global-vm-extension-policies update untuk mengubah
kebijakan ekstensi VM global yang ada. Saat Anda memperbarui kebijakan menggunakan
gcloud, permintaan akan bertindak sebagai penggantian lengkap. Setiap
bidang opsional yang Anda hilangkan akan kembali ke nilai defaultnya, bukan
mempertahankan nilai yang ada dari kebijakan yang diubah.
Untuk memperbarui kebijakan ekstensi VM global, jalankan perintah berikut:
gcloud beta compute global-vm-extension-policies update POLICY_NAME \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --description="DESCRIPTION" \ --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_NUMBER \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-retry-uuid=RETRY_UUID \ --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang akan diupdate.EXTENSION_NAME_1,EXTENSION_NAME_2: nama ekstensi yang akan diperbarui. Anda harus menentukan setidaknya satu ekstensi.DESCRIPTION: deskripsi kebijakan ekstensi VM.VERSION_1: versi ekstensi VM pertama.VERSION_2: versi ekstensi VM kedua.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 tanda ini, kebijakan akan menargetkan semua VM di semua zona dalam project.PRIORITY_NUMBER: nomor prioritas untuk kebijakan ekstensi VM.ROLLOUT_PLAN: tentukanslow_rolloutataufast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, gunakan flag--rollout-custom-plandan bukan--rollout-predefined-plan, lalu 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.RETRY_UUID: UUID yang mengidentifikasi upaya percobaan ulang untuk peluncuran update kebijakan. Tindakan ini memungkinkan Anda mencoba lagi pembaruan tanpa perubahan. Error akan terjadi jika Anda menyetel tanda ini dan kebijakan diubah. Untuk mengetahui informasi selengkapnya, lihat Coba lagi peluncuran.
Zonal
Gunakan perintah gcloud beta compute zone-vm-extension-policies update untuk mengubah kebijakan ekstensi VM yang ada. Saat Anda memperbarui kebijakan menggunakan gcloud, permintaan akan bertindak sebagai
penggantian lengkap. Setiap kolom opsional yang Anda abaikan akan kembali ke nilai
defaultnya, bukan mempertahankan nilai yang ada dari kebijakan yang diubah.
Untuk memperbarui kebijakan ekstensi VM, jalankan perintah berikut:
gcloud beta compute zone-vm-extension-policies update POLICY_NAME \ --zone=ZONE \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --description="DESCRIPTION" \ --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_NUMBER
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang akan diupdate.ZONE: Google Cloud zona tempat kebijakan berlaku.EXTENSION_NAME_1,EXTENSION_NAME_2: nama ekstensi yang akan diperbarui. Anda harus menentukan setidaknya satu ekstensi.DESCRIPTION: deskripsi opsional untuk kebijakan ekstensi VM.VERSION_1: versi ekstensi VM pertama.VERSION_2: versi ekstensi VM kedua.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_NUMBER: nomor prioritas untuk kebijakan ekstensi VM.
Meng-uninstal ekstensi dengan menghapus kebijakan ekstensi VM
Saat Anda menghapus kebijakan, VM Extension Manager akan meng-uninstal ekstensi dari VM yang dikelola oleh kebijakan tersebut. Namun, jika kebijakan aktif lain yang berprioritas lebih rendah diterapkan ke VM dan mendeklarasikan ekstensi yang sama, ekstensi akan tetap diinstal di VM tersebut berdasarkan kebijakan berprioritas lebih rendah.
VM Extension Manager menghapus ekstensi dari semua VM yang dapat diakses dalam waktu satu menit setelah penghapusan kebijakan. Jika VM tidak dapat diakses karena agen tamu dihapus atau VM dihapus, VM Extension Manager akan melewati penghapusan ekstensi. Jika VM tersebut tersedia kembali, VM Extension Manager akan menghapus ekstensi pada saat itu.
Konsol
- Di konsol Google Cloud , buka halaman VM extension policies.
- Pilih kebijakan yang ingin Anda hapus.
- Klik Hapus.
- Pada dialog konfirmasi, klik Delete.
gcloud
Global
Gunakan perintah gcloud beta compute global-vm-extension-policies delete untuk menghapus kebijakan ekstensi VM global yang ada.
gcloud beta compute global-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-retry-uuid=RETRY_UUID
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang ingin Anda hapus.PROJECT_ID: ID Google Cloud project Anda.ROLLOUT_PLAN: tentukanslow_rolloutataufast_rollout. Jika Anda perlu menggunakan rencana peluncuran kustom, gunakan flag--rollout-custom-plandan bukan--rollout-predefined-plan, lalu 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.RETRY_UUID: UUID untuk mencoba lagi menghapus kebijakan ekstensi. Tetapkan kolom ini hanya saat mencoba lagi permintaan penghapusan untuk kebijakan yang ada dan dalam statusDELETING. Menetapkan kolom ini saat kebijakan tidak dalam statusDELETINGakan menyebabkan error. Untuk mengetahui informasi selengkapnya, lihat Coba lagi peluncuran.
Zonal
Gunakan perintah gcloud beta compute zone-vm-extension-policies delete untuk menghapus kebijakan ekstensi VM yang ada.
gcloud beta compute zone-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
Ganti kode berikut:
POLICY_NAME: nama kebijakan ekstensi VM yang ingin Anda hapus.PROJECT_ID: ID Google Cloud project Anda.ZONE: Google Cloud zona tempat kebijakan berada.
Memecahkan masalah ekstensi VM
Bagian ini menjelaskan cara memecahkan masalah ekstensi VM.
Memastikan ekstensi telah diinstal
Anda dapat memverifikasi bahwa ekstensi telah diinstal dengan memeriksa hal berikut di VM:
Hubungkan ke VM dan periksa proses yang sedang berjalan.
Tabel berikut mencantumkan nama proses untuk setiap ekstensi:
Nama ekstensi Nama proses ekstensi google-cloud-sap-extensiongoogle_cloud_sap_agentgoogle-cloud-workload-extensiongoogle_cloud_workload_agentops-agentops-agentLinux
Gantips aux | grep 'EXTENSION_PROCESS_NAME'
EXTENSION_PROCESS_NAMEdengan nama proses ekstensi. Misalnya, untuk memeriksa proses Agen Operasional, jalankan perintah berikut:ps aux | grep 'ops-agent'
Windows
Gantitasklist | findstr "EXTENSION_PROCESS_NAME"
EXTENSION_PROCESS_NAMEdengan nama proses ekstensi. Misalnya, untuk memeriksa proses Agen Operasional, jalankan perintah berikut:tasklist | findstr "ops-agent"
Output perintah
psdi VM Linux untuk Ops Agent mungkin menampilkan entri yang mirip dengan berikut ini:.... /var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3 ....
Aktifkan dan tinjau log agen tamu. Log agen tamu menampilkan saat ekstensi diinstal dan dimulai.
Berikut adalah contoh output yang mungkin Anda lihat di log agen tamu saat ekstensi Agen Operasional diinstal:
my-instance google_guest_agent [14972]: Installing plugin "ops-agent", revision "2dfa648c1892da87" my-instance google_guest_agent [14972]: (client.go:181) Sent message [[type.googleapis.com/agent_controlplane.PluginEventMessage: (revision_id:"2dfa648c1892da87)]] my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "DownloadPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:316) Successfully downloaded "https://storage.googleapis.com/acp-gcs-bucket-us-centrall-a/ops-agent my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "UnpackPluginArchiveStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:361) Successfully unpacked "/var/lib/google-guest-agent/ops-agent.tar.gz" to "/google-guest-agent/ops-agent_2dfa648c1892da87 my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "LaunchPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (run_linux.go:32) Attempting process start: (OutputType:0 Name:/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87) my-instance google_guest_agent [14972]: (pluginlauncher.go:132) Launched a plugin process from "/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:136) Dialing in on plugin "ops-agent 2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:51) Executing start request on plugin "ops-agent_2dfa648c1892da87"
Memecahkan masalah penginstalan
Jika ekstensi tidak diinstal di VM setelah Anda membuat kebijakan, gunakan langkah-langkah berikut untuk memecahkan masalah:
- Tunggu penerapan kebijakan. Penerapan kebijakan dapat memerlukan waktu hingga satu jam, termasuk percobaan ulang.
- Periksa apakah label penyertaan yang ditentukan dalam kebijakan cocok dengan label di VM.
- Untuk mengidentifikasi potensi error penginstalan, aktifkan logging debug untuk agen tamu.
Setelah Anda memperbaiki masalah yang mendasarinya, coba lagi penginstalan menggunakan salah satu metode berikut:
- Buat ulang kebijakan: Hapus kebijakan, lalu buat kebijakan baru.
Gunakan kebijakan sementara dengan prioritas tinggi: Jika Anda ingin menghindari pembuatan ulang kebijakan yang memengaruhi banyak VM, gunakan kebijakan sementara dengan prioritas lebih tinggi untuk mencoba lagi penginstalan pada VM tertentu:
- Tambahkan label baru ke VM yang penginstalannya gagal. Misalnya, tambahkan label
status=failed. - Buat kebijakan dengan prioritas yang lebih tinggi yang menargetkan label baru.
Misalnya, jika kebijakan asli yang gagal memiliki prioritas default
1000, buat kebijakan dengan prioritas yang lebih tinggi, seperti500.gcloud beta compute zone-vm-extension-policies create temp-policy
--project=test-project
--zone=us-central1-f
--extensions=ops-agent
--config-from-file=ops-agent="/usr/ops-agent-config.yaml"
--priority=500
--inclusion-labels=status=failed - Setelah ekstensi berhasil diinstal, hapus kebijakan sementara dan hapus label dari VM. Ekstensi tetap diinstal karena kebijakan asli masih aktif.
- Tambahkan label baru ke VM yang penginstalannya gagal. Misalnya, tambahkan label
Melihat log debug untuk agen tamu
Untuk mengaktifkan logging debug, tambahkan setelan tingkat log dan kejelasan ke bagian
Core file konfigurasi
agen tamu sebagai berikut:
Linux
- Buka file konfigurasi agen tamu yang berada di
/etc/default/instance_configs.cfg. Tambahkan baris berikut ke file. Jika bagian
[Core]sudah ada, tambahkan setelanlog_leveldanlog_verbosityke bagian tersebut.[Core] log_level = 4 log_verbosity = 4Mulai ulang pengelola agen tamu dengan menjalankan perintah berikut:
sudo systemctl restart google-guest-agent-managerUntuk melihat log aktivitas agen tamu selama penginstalan ekstensi, jalankan perintah berikut:
journalctl -u google-guest-agent-manager
Windows
- Buka file konfigurasi agen tamu yang berada di
C:\Program Files\Google\Compute Engine\instance_configs.cfg. Tambahkan baris berikut ke file. Jika bagian
[Core]sudah ada, tambahkan setelanlog_leveldanlog_verbosityke bagian tersebut.[Core] log_level = 4 log_verbosity = 4Mulai ulang pengelola agen tamu dengan menjalankan perintah berikut sebagai administrator Windows:
net stop GCEAgentManager net start GCEAgentManagerUntuk melihat log aktivitas agen tamu selama penginstalan ekstensi, jalankan perintah berikut di PowerShell:
Get-Eventlog -Source google_guest_agent_manager -LogName Application
Setelah mengaktifkan log debug, periksa error umum berikut:
- Ruang disk tidak cukup: Jika log melaporkan ruang disk tidak cukup, kosongkan ruang di disk atau ubah ukuran disk untuk menambahkan lebih banyak ruang.
- Penggunaan resource yang berlebihan: Jika log menunjukkan bahwa agen tamu menghentikan ekstensi karena penggunaan memori atau CPU yang berlebihan, ubah jenis mesin VM ke jenis mesin dengan resource yang lebih banyak.
Langkah berikutnya
- Pelajari VM Extension Manager lebih lanjut.