Dokumen ini menjelaskan cara memecahkan masalah terkait VM Manager.
Untuk informasi selengkapnya tentang VM Manager, lihat VM Manager.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Authentication adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke
Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Ringkasan
Untuk memecahkan masalah, verifikasi terlebih dahulu bahwa VM Manager disiapkan dengan benar. Jika penyiapan sudah benar dan Anda masih mengalami masalah, Anda dapat meninjau log. Saat meninjau log, Anda dapat mengidentifikasi masalah pada VM atau dalam alur kerja VM Manager, seperti error dalam perintah atau skrip, yang dapat Anda pisahkan dan selesaikan.
Anda dapat mengumpulkan informasi berikut dari log:
- Pesan error atau peringatan apa pun yang dicatat dalam log oleh VM. Cara ini ideal untuk mengidentifikasi error tingkat VM, atau error dari layanan lain yang berjalan pada VM Anda. Untuk meninjau log ini, lihat Memeriksa Cloud Logging.
- Informasi debug panjang yang dicatat ke dalam log oleh agen Konfigurasi OS. Hal ini berguna untuk mengidentifikasi masalah pada operasi apa pun yang dijalankan oleh VM Manager. Guna memeriksa log debug untuk agen OS Config, lihat Memeriksa log debug.
Setelah mengidentifikasi masalah atau error, Anda juga dapat meninjau bagian error umum untuk melihat kemungkinan perbaikan.
Memeriksa Cloud Logging
Anda dapat menggunakan link cepat Konsol Google Cloud untuk setiap fitur guna melihat log untuk VM tertentu.
Patch OS
- Di konsol Google Cloud, buka tab Patch Jobs di halaman OS patch management.
- Klik nama tugas patch yang ingin Anda debug.
- Scroll ke bawah ke bagian Updated VM instances.
- Untuk VM tertentu, di bagian Logs, klik View.
Kebijakan OS
Prosedur ini didukung untuk kebijakan OS. Untuk kebijakan tamu (beta), gunakan opsi log debug, di bagian berikut.
- Di konsol Google Cloud, buka tab VM instances di halaman OS configuration management.
- Klik nama VM yang ingin Anda debug.
- Scroll ke bawah ke bagian Policies.
- Di bagian Logs, klik View.
Memeriksa log debug
Anda dapat mengidentifikasi masalah pada fitur VM Manager apa pun dengan mengaktifkan proses debug untuk agen Konfigurasi OS dan melihat log debug.
Mengaktifkan logging debug untuk agen Konfigurasi OS
Anda dapat mengaktifkan logging debug dengan menetapkan metadata osconfig-log-level=debug
pada instance atau project VM.
Untuk mengaktifkan logging debug di VM Anda, selesaikan langkah-langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik nama VM yang ingin Anda tetapkan nilai metadatanya.
Di halaman Instance details, klik Edit untuk mengedit setelan.
Di bagian Custom metadata, tambahkan entri metadata berikut:
Kunci:
osconfig-log-level
Nilai:debug
Klik Save untuk menerapkan perubahan ke VM.
gcloud
Gunakan perintah instances add-metadata
dengan flag --metadata=osconfig-log-level=debug
.
gcloud compute instances add-metadata VM_NAME \ --metadata=osconfig-log-level=debug
Ganti VM_NAME
dengan nama VM Anda.
REST
Untuk mengetahui petunjuk tentang cara menetapkan metadata instance, ikuti petunjuk API untuk menetapkan metadata instance.
Key-value pair berikut diperlukan sebagai bagian dari properti metadata:
Kunci: osconfig-log-level
Nilai: debug
Lihat log debug
Ketika logging debug diaktifkan, agen OS Config akan menulis entri log ke Cloud Logging dan konsol port serial.
Setelah Anda mengaktifkan logging debug di VM, agen Konfigurasi OS memerlukan waktu sekitar sepuluh menit untuk mulai menulis pesan debug di Cloud Logging. Anda dapat mengurangi waktu tunggu ini dengan memulai ulang agen atau me-reboot VM. Untuk mengetahui informasi lebih lanjut tentang Cloud Logging, lihat artikel Melihat log Cloud Logging.
Untuk melihat log debug, Anda dapat menggunakan opsi berikut:
- Cloud Logging: gunakan konsol Google Cloud atau Google Cloud CLI
Konsol port serial
Konsol
Buka halaman Logging > Logs Explorer (Logs Explorer) di konsol Google Cloud:
Jika perlu, pilih project Google Cloud yang sudah ada di bagian atas halaman, atau buat project baru.
Di menu drop-down Resource, pilih VM Instance. Daftar VM yang tersedia (
instance_id
) akan ditampilkan.Klik VM yang ingin Anda lihat.
Klik Tambahkan.
Pada menu drop-down Log name, pilih OSConfigAgent.
Klik Add.
Kueri Anda harus mirip dengan kueri berikut ini:
resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID" logName="projects/PROJECT_ID/logs/OSConfigAgent"
Klik Run query.
gcloud
Jalankan gcloud logging read
perintah.
gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
Ganti PROJECT_ID
dengan project ID Anda.
Port serial
Untuk melihat informasi log debug dari konsol port serial, lihat Melihat output port serial.
Error yang biasa terjadi
Masalah Authentication
Agar VM Manager dapat berfungsi, Anda harus memiliki hal berikut:
- Akun layanan terlampir. VM Manager menggunakan akun layanan ini untuk menandatangani permintaan ke layanan API.
- Pastikan akun layanan yang terlampir memiliki peran
roles/logging.logWriter
untuk menulis log ke Logging API. - Agen Layanan Konfigurasi Google Cloud OS. VM Manager membuat agen layanan ini saat memulai tugas patch dan memberinya peran Agen Layanan Konfigurasi Cloud OS. Untuk membuat kebijakan OS, Anda tidak perlu mengonfigurasi agen layanan ini.
Jika menggunakan VM Manager dan tidak memiliki akun layanan yang terpasang, atau Agen Layanan Config Google Cloud OS, Anda mungkin melihat error berikut saat bekerja dengan tugas patch:
Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"
Masalah autentikasi juga dapat mencegah instance VM muncul di dasbor Patch.
Untuk mengatasi masalah tersebut, coba salah satu atau semua langkah berikut:
- Pastikan semua VM memiliki akun layanan terlampir.
Pastikan peran Agen Layanan Konfigurasi Cloud OS (
roles/osconfig.serviceAgent
) ditetapkan pada Agen Layanan Konfigurasi Google Cloud OS.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \ --role='roles/osconfig.serviceAgent'
Ganti kode berikut:
PROJECT_ID
: project ID AndaPROJECT_NUMBER
: nomor project Anda
Error saat mengecualikan paket untuk update patch
Jika Anda menentukan karakter pengganti atau karakter khusus untuk nama paket saat mengecualikan paket dalam tugas patch, OS patch management mungkin akan mengabaikan daftar tersebut dan memperbarui semua paket.
Untuk mengatasi masalah ini, update agen Konfigurasi OS ke versi 20220829.00
dan gunakan garis miring (/
) untuk menggabungkan nama paket.
Pada contoh berikut, OS patch management mengecualikan paket yum
dengan awalan
google-
dalam nama paket.
gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/