Halaman ini menjelaskan cara menguji efek kebijakan pemeliharaan host instance mesin virtual (VM) pada aplikasi Anda.
Anda dapat menyimulasikan peristiwa pemeliharaan pada VM dalam situasi berikut:
- Anda memiliki VM yang dikonfigurasi untuk melakukan migrasi langsung selama peristiwa pemeliharaan, dan Anda perlu menguji efek migrasi langsung pada aplikasi Anda.
- Anda memiliki tugas batch yang berjalan pada instance preemptible VM, dan Anda perlu menguji cara aplikasi Anda menangani preemption dan penonaktifan pada satu atau beberapa instance.
- Instance Anda dikonfigurasikan untuk berhenti dan memulai ulang selama peristiwa pemeliharaan, bukan migrasi langsung, dan Anda perlu menguji cara aplikasi menangani proses penonaktifan dan mulai ulang ini.
- Anda ingin menguji bagaimana beban kerja yang berjalan di sole-tenant node selama peristiwa pemeliharaan host, dan lihat dampak kebijakan pemeliharaan host sole-tenant VM pada aplikasi yang berjalan di VM.
Sebelum memulai
- Tinjau batas kapasitas API untuk metrik
simulate_maintenance_event_requests
. -
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi 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
-
Batasan
Jika Anda mencoba menyimulasikan peristiwa pemeliharaan host di VM yang tidak mendukung migrasi langsung, peristiwa tersebut akan dihentikan atau dimulai ulang, bergantung pada kebijakan pemeliharaan host yang dikonfigurasi
Saat Anda mencoba menyimulasikan peristiwa pemeliharaan host pada grup node yang memiliki kebijakan pemeliharaan host untuk bermigrasi dalam grup node, jika jumlah node yang ditentukan kurang dari atau sama dengan jumlah total node penahanan yang dicadangkan, simulasi peristiwa pemeliharaan host dijalankan secara bersamaan untuk semua node yang ditentukan. Sedangkan, jika jumlah node yang ditentukan lebih besar dari jumlah total node penahanan yang dicadangkan, simulasi akan gagal.
Untuk menyimulasikan peristiwa pemeliharaan secara benar pada grup node yang memiliki kebijakan pemeliharaan host yang disetel untuk bermigrasi dalam grup node, Anda harus memicu peristiwa pemeliharaan secara berurutan pada setiap node.
Menyimulasikan peristiwa pemeliharaan host
Anda dapat menyimulasikan peristiwa pemeliharaan pada VM menggunakan Google Cloud CLI atau permintaan API.
Selama simulasi peristiwa pemeliharaan
host, kunci metadata maintenance-event
VM mengalami
perubahan berikut:
- Pada awal simulasi, nilai kunci metadata
maintenance-event
berubah dariNONE
menjadiMIGRATE_ON_HOST_MAINTENANCE
. - Selama durasi peristiwa simulasi, nilainya tetap sebagai
MIGRATE_ON_HOST_MAINTENANCE
. - Setelah simulasi berakhir, nilai akan kembali ke
NONE
.
Untuk mengkueri kunci peristiwa pemeliharaan, lihat Membuat kueri kunci metadata peristiwa pemeliharaan.
gcloud
Jalankan perintah instances simulate-maintenance-event
untuk memaksa instance mengaktifkan tindakan kebijakan pemeliharaan yang dikonfigurasi:
gcloud compute instances simulate-maintenance-event VM_NAME \ --zone ZONE
Ganti kode berikut:
VM_NAME
: nama VM tempat Anda ingin menyimulasikan peristiwa pemeliharaan.Anda dapat menentukan beberapa nama VM yang dipisahkan dengan satu spasi untuk menyimulasikan peristiwa pemeliharaan pada lebih dari satu VM di zona yang sama. Misalnya,
instance-1 instance-2 instance-3
.ZONE
: zona tempat instance berada.
REST
Di Compute Engine API, buat permintaan ke metode compute.instances.simulateMaintenanceEvent
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent
Ganti kode berikut:
PROJECT_ID
: ID project untuk permintaan ini.VM_NAME
: nama instance tempat Anda ingin melakukan simulasi peristiwa pemeliharaan.Anda dapat menentukan beberapa nama instance yang dipisahkan dengan satu spasi untuk menyimulasikan peristiwa pemeliharaan pada lebih dari satu instance di zona yang sama. Misalnya,
instance-1 instance-2 instance-3
.ZONE
: zona tempat instance berada.
Simulasikan peristiwa pemeliharaan host di sole-tenant node
Anda dapat menyimulasikan peristiwa pemeliharaan host pada sole-tenant node menggunakan Google Cloud CLI atau permintaan API. Selama simulasi peristiwa pemeliharaan host pada sole-tenant VM, nilai kunci metadata maintenance-event
tidak berubah dan tetap NONE
selama simulasi.
gcloud
Jalankan perintah sole-tenancy node-groups simulate-maintenance-event
untuk memaksa sole-tenant node mengaktifkan kebijakan pemeliharaan yang telah dikonfigurasi:
gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \ --nodes=NODE_NAMES \ --zone=ZONE \ --async
Ganti kode berikut:
NODE_GROUP
: nama grup node tempat Anda ingin menyimulasikan peristiwa pemeliharaan.NODE_NAMES
: nama node tempat Anda ingin menyimulasikan peristiwa pemeliharaan. Saat menentukan beberapa nama node, gunakan nilai yang dipisahkan koma, misalnya,node-1,node-2,node-3
.ZONE
: zona tempat node berada.
REST
Di Compute Engine API, buat permintaan ke metode compute.nodeGroups.simulateMaintenanceEvent
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent { "nodes": [NODE_NAMES] }
Ganti kode berikut:
PROJECT_ID
: ID project untuk permintaan ini.ZONE
: zona tempat node berada.NODE_GROUP
: nama grup node tempat Anda ingin menyimulasikan peristiwa pemeliharaan.NODE_NAMES
: nama node tempat Anda ingin menyimulasikan peristiwa pemeliharaan. Sertakan nama node dalam tanda kutip ganda, misalnya,"node-1"
. Selain itu, saat menentukan beberapa nama node, gunakan nilai yang dipisahkan koma, misalnya,"node-1","node-2","node-3"
.
Langkah selanjutnya
- Pelajari peristiwa host lebih lanjut.
- Pelajari pemeliharaan host di sole-tenant node lebih lanjut.
- Pelajari cara menyetel kebijakan pemeliharaan host VM lebih lanjut.
- Pelajari cara melihat operasi VM.
- Pelajari tenancy VM lebih lanjut.