Memecahkan masalah ekstensi VM

Dokumen ini menjelaskan cara memverifikasi penginstalan ekstensi VM, mendiagnosis masalah peluncuran kebijakan dan status ekstensi VM, serta melihat log debug agen tamu di instance virtual machine (VM) Compute Engine. Gunakan petunjuk ini untuk mengidentifikasi alasan ekstensi yang diharapkan tidak diinstal, alasan ekstensi yang tidak diharapkan berjalan di VM, atau alasan proses ekstensi berhenti.

Sebelum memulai

Sebelum memecahkan masalah ekstensi VM di VM Anda, selesaikan prasyarat berikut:

  • Pastikan Anda memiliki izin yang diperlukan untuk memeriksa kebijakan ekstensi, metadata untuk ekstensi yang didukung VM Extension Manager, dan status ekstensi VM di seluruh hierarki resource Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Melihat detail dan status ekstensi VM.
  • Untuk mengidentifikasi kegagalan penginstalan, error, atau rollback sebelum Anda terhubung ke setiap VM, periksa peristiwa penerapan ekstensi historis di Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat Melihat log ekstensi VM.
  • Untuk memeriksa proses ekstensi yang berjalan dan log debug agen tamu langsung di VM, pastikan Anda dapat terhubung ke VM menggunakan SSH atau RDP.

Memastikan ekstensi telah diinstal

Untuk mengonfirmasi apakah ekstensi diinstal dan berjalan di VM Compute Engine, periksa status ekstensi VM menggunakan metode hanya baca. Hubungkan ke VM hanya jika Anda memerlukan detail proses atau log OS tamu.

Memeriksa status ekstensi VM menggunakan metode hanya baca

Untuk memeriksa status runtime dan status respons ekstensi yang diinstal tanpa terhubung ke VM, jalankan perintah gcloud beta compute instances list-vm-extension-states atau gcloud beta compute instances get-vm-extension-state, atau panggil metode REST API yang setara. Respons akan menampilkan versi aktif setiap ekstensi, status penerapan (enforcementState), status respons (healthStatus), pesan diagnostik (healthMsg), dan ID kebijakan yang mengatur (policyId). Untuk mengetahui informasi selengkapnya, lihat Melihat status ekstensi VM pada instance.

Memeriksa proses ekstensi yang berjalan di VM

Jika kueri status jarak jauh tidak menampilkan status yang diharapkan, hubungkan ke VM dan periksa apakah proses ekstensi berjalan di sistem operasi tamu.

Tabel berikut mencantumkan nama proses untuk setiap ekstensi yang didukung:

Nama ekstensi Nama proses ekstensi
google-cloud-sap-extension google_cloud_sap_agent
google-cloud-workload-extension google_cloud_workload_agent
ops-agent ops_agent

Untuk memeriksa apakah proses ekstensi berjalan di VM Anda, pilih sistem operasi Anda:

Linux

Untuk mencantumkan proses ekstensi yang berjalan, jalankan perintah berikut:

ps aux | grep 'EXTENSION_PROCESS_NAME'
Ganti EXTENSION_PROCESS_NAME dengan nama proses ekstensi dari tabel sebelumnya. Misalnya, untuk mencantumkan proses ekstensi ops-agent, jalankan perintah berikut:
ps aux | grep 'ops_agent'

Windows

Untuk mencantumkan proses ekstensi yang berjalan, jalankan perintah berikut:

tasklist | findstr "EXTENSION_PROCESS_NAME"
Ganti EXTENSION_PROCESS_NAME dengan nama proses ekstensi dari tabel sebelumnya. Misalnya, untuk mencantumkan proses ekstensi ops-agent, jalankan perintah berikut:
tasklist | findstr "ops_agent"

Cuplikan berikut menunjukkan contoh output dari perintah ps saat ekstensi ops-agent berjalan di VM Linux:

....
/var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3
....

Meninjau entri penginstalan agen tamu

Untuk mengonfirmasi kapan agen tamu mendownload, mengekstrak, dan memulai plugin ekstensi, aktifkan dan lihat log debug untuk agen tamu.

Cuplikan berikut menunjukkan contoh entri log agen tamu saat agen tamu menginstal dan memulai ekstensi ops-agent di VM Linux:

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-central1-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 atau ekstensi yang tidak terduga berjalan di VM, diagnosis peluncuran kebijakan, label target, dan status penerapan sebelum Anda mencoba menginstal ulang.

Untuk mengidentifikasi alasan ekstensi gagal diinstal di VM, selesaikan langkah-langkah diagnostik berikut:

  1. Tunggu penegakan kebijakan. Peluncuran kebijakan, termasuk percobaan ulang, dapat memerlukan waktu hingga satu jam untuk diselesaikan di seluruh VM target. Untuk mengetahui informasi selengkapnya tentang cara memeriksa progres peluncuran, lihat Melihat kebijakan ekstensi.
  2. Pastikan label penyertaan yang Anda tentukan dalam kebijakan cocok dengan label di VM, dan verifikasi metadata untuk ekstensi yang didukung VM Extension Manager:
    • Untuk memeriksa pemilih label kebijakan dan nomor prioritas di seluruh organisasi, folder, atau project Anda, lihat Melihat kebijakan ekstensi.
    • Untuk memeriksa nama, nomor versi, dan tingkat dukungan ekstensi yang didukung VM Extension Manager di semua zona atau di zona tertentu, lihat Melihat ekstensi dan versi VM.
  3. Untuk memeriksa status penerapan, status respons, pesan diagnostik, dan ID kebijakan yang mengatur (policyId), periksa status ekstensi pada VM yang terpengaruh. Status error umum mencakup INSTALL_FAILED, INCOMPATIBLE, dan ROLLED_BACK. Jika beberapa kebijakan menargetkan VM yang sama, kolom policyId akan menampilkan kebijakan yang mengatur setiap ekstensi. Untuk mengetahui informasi selengkapnya, lihat Melihat status ekstensi VM pada instance.
  4. Untuk mengidentifikasi error penginstalan tingkat tamu di VM, aktifkan dan lihat log debug untuk agen tamu.

Coba lagi penginstalan ekstensi

Setelah Anda memperbaiki konfigurasi kebijakan yang mendasarinya atau masalah OS tamu, terapkan kembali konfigurasi kebijakan agar agen tamu mencoba kembali penginstalan pada VM yang terpengaruh.

Untuk mencoba kembali penginstalan ekstensi, pilih salah satu opsi berikut:

  • Buat ulang kebijakan: Hapus kebijakan, lalu buat kebijakan baru.
  • Terapkan kebijakan sementara dengan prioritas lebih tinggi: Untuk mencoba kembali penginstalan pada VM tertentu tanpa membuat ulang kebijakan yang memengaruhi fleet besar, selesaikan langkah-langkah berikut:

    1. Tambahkan label sementara, seperti status=failed, ke VM yang penginstalannya gagal.
    2. Buat kebijakan sementara dengan prioritas lebih tinggi—nilai bilangan bulat yang lebih rendah—yang menargetkan label sementara. Misalnya, jika kebijakan asli menggunakan prioritas default 1000, untuk membuat kebijakan sementara dengan prioritas 500, jalankan perintah berikut:

      gcloud 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
      
    3. Setelah agen tamu menginstal ekstensi di VM target, hapus kebijakan sementara.

    4. Hapus label sementara dari VM. Ekstensi tetap diinstal karena kebijakan asli masih mengatur VM tersebut.

Melihat log debug untuk agen tamu

Jika kueri status jarak jauh dan log peristiwa Logging tidak menunjukkan alasan ekstensi gagal didownload atau dimulai, aktifkan logging debug panjang di bagian Core pada file konfigurasi agen tamu.

Untuk mengaktifkan dan melihat log debug agen tamu, pilih sistem operasi Anda:

Linux

Untuk mengaktifkan logging debug di VM Linux, selesaikan langkah-langkah berikut:

  1. Buka file konfigurasi agen tamu di /etc/default/instance_configs.cfg.
  2. Di /etc/default/instance_configs.cfg, tambahkan setelan berikut. Jika bagian [Core] sudah ada, tambahkan log_level dan log_verbosity di bawah [Core]:

    [Core]
    log_level = 4
    log_verbosity = 4
    
  3. Untuk memulai ulang pengelola agen tamu, jalankan perintah berikut:

    sudo systemctl restart google-guest-agent-manager
    
  4. Untuk melihat log agen tamu yang dibuat selama penginstalan ekstensi, jalankan perintah berikut:

    journalctl -u google-guest-agent-manager
    

Windows

Untuk mengaktifkan logging debug di VM Windows, selesaikan langkah-langkah berikut:

  1. Buka file konfigurasi agen tamu di C:\Program Files\Google\Compute Engine\instance_configs.cfg.
  2. Di instance_configs.cfg, tambahkan setelan berikut. Jika bagian [Core] sudah ada, tambahkan log_level dan log_verbosity di bawah [Core]:

    [Core]
    log_level = 4
    log_verbosity = 4
    
  3. Di jendela Command Prompt atau PowerShell yang ditingkatkan, untuk memulai ulang pengelola agen tamu, jalankan perintah berikut:

    net stop GCEAgentManager
    net start GCEAgentManager
    
  4. Di PowerShell, untuk melihat log agen tamu yang dibuat selama penginstalan ekstensi, jalankan perintah berikut:

    Get-Eventlog -Source google_guest_agent_manager -LogName Application
    

Menyelesaikan error log agen tamu umum

Saat Anda memeriksa log debug agen tamu, periksa error batasan resource yang mencegah ekstensi diekstrak atau dijalankan di VM.

Tabel berikut mencantumkan error umum yang dilaporkan dalam log debug agen tamu dan cara mengatasinya:

Kondisi error Resolusi
Kapasitas disk tidak cukup Jika log melaporkan bahwa VM tidak memiliki kapasitas disk yang cukup untuk mendownload atau mengekstrak arsip ekstensi, hapus file yang tidak digunakan atau ubah ukuran boot disk.
Penggunaan resource yang berlebihan Jika log menunjukkan bahwa agen tamu menghentikan ekstensi karena penggunaan memori atau CPU yang tinggi, ubah jenis mesin VM menjadi jenis mesin dengan memori atau vCPU yang lebih banyak.

Langkah berikutnya