Halaman ini menjelaskan cara menguji efek kebijakan pemeliharaan host instance Compute Engine pada aplikasi Anda.
Anda dapat menyimulasikan peristiwa pemeliharaan pada VM untuk menguji hal berikut:
- Dampak migrasi langsung pada aplikasi Anda.
- Cara aplikasi dan tugas batch Anda menangani preemption dan penonaktifan saat menggunakan satu atau beberapa Spot VM.
- Cara aplikasi Anda menangani proses penonaktifan dan mulai ulang untuk instance yang dikonfigurasi untuk menghentikan dan memulai ulang selama peristiwa pemeliharaan, bukan migrasi langsung.
- Perilaku workload yang berjalan di node tenant tunggal selama peristiwa pemeliharaan host, dan lihat dampak kebijakan pemeliharaan host VM tenant tunggal pada aplikasi yang berjalan di VM.
Jika Anda mencoba menyimulasikan peristiwa pemeliharaan host pada instance yang tidak mendukung migrasi langsung, instance akan dihentikan atau dimulai ulang, bergantung pada kebijakan pemeliharaan host yang dikonfigurasi.
Sebelum memulai
- Tinjau
batas kapasitas API regional
untuk
SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion
. -
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud.
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Untuk menyimulasikan peristiwa pemeliharaan secara benar pada grup node tenant tunggal yang memiliki kebijakan pemeliharaan host yang disetel ke migrasi dalam grup node, Anda harus memicu peristiwa pemeliharaan secara berurutan pada setiap node.
- Untuk grup node tenant tunggal, saat Anda mencoba menyimulasikan peristiwa pemeliharaan
host dan grup node memiliki kebijakan pemeliharaan host yang ditetapkan 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 akan berjalan untuk semua node yang ditentukan secara bersamaan.
- Jika jumlah node yang ditentukan lebih besar dari jumlah total node penahanan yang dicadangkan, simulasi akan gagal.
- Jumlah simulasi peristiwa pemeliharaan yang dapat Anda mulai per menit per
wilayah dibatasi oleh batas kapasitas API untuk
metrik
simulate_maintenance_event_requests_per_region
. - 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
. INSTANCE_NAME
: nama instance komputasi tempat Anda ingin menyimulasikan 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.PROJECT_ID
: project ID untuk permintaan ini.INSTANCE_NAME
: nama instance yang ingin Anda gunakan untuk menyimulasikan peristiwa pemeliharaan.ZONE
: zona tempat instance berada.Gunakan perintah
compute instances simulate-maintenance-event
untuk menyimulasikan peristiwa pemeliharaan untuk instance dan menguji setelan kebijakan pemeliharaan host yang dikonfigurasi. Anda dapat menyertakan flag--with-extended-notifications
secara opsional.gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Ganti kode berikut:
INSTANCE_NAME
: nama instance komputasi tempat Anda ingin menyimulasikan 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.
Opsional: Untuk memulai peristiwa pemeliharaan simulasi secara manual, gunakan perintah
compute instances perform-maintenance
.gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE
Ganti kode berikut:
INSTANCE_NAME
: nama instance komputasi tempat Anda ingin menyimulasikan 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.
Buat permintaan
POST
ke metodecompute.instances.simulateMaintenanceEvent
. Anda dapat menyertakan parameter kueriwithExtendedNotifications
secara opsional.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.INSTANCE_NAME
: nama instance yang ingin Anda gunakan untuk menyimulasikan peristiwa pemeliharaan.ZONE
: zona tempat instance berada.
Opsional: Untuk memulai peristiwa pemeliharaan simulasi secara manual, buat permintaan
POST
ke metodecompute.instances.performMaintenance
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
Ganti kode berikut:
INSTANCE_NAME
: nama instance compute tempat Anda ingin memulai peristiwa pemeliharaan.Anda dapat menentukan beberapa nama instance yang dipisahkan dengan satu spasi untuk melakukan peristiwa pemeliharaan pada lebih dari satu instance di zona yang sama. Misalnya,
instance-1 instance-2 instance-3
.ZONE
: zona tempat instance berada.
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.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"
.- Pelajari peristiwa host lebih lanjut.
- Pelajari pemeliharaan host di sole-tenant node lebih lanjut.
- Pelajari lebih lanjut cara menetapkan opsi kebijakan pemeliharaan host VM.
- Pelajari cara melihat operasi VM.
- Pelajari lebih lanjut multi-tenancy dan tenancy tunggal.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.
Batasan
Menyimulasikan peristiwa pemeliharaan host untuk menguji migrasi langsung
Anda dapat menyimulasikan peristiwa pemeliharaan untuk instance komputasi menggunakan Google Cloud CLI atau permintaan API. Peristiwa simulasi ini mencakup berbagai aktivitas pemeliharaan yang terjadi dalam peristiwa pemeliharaan rutin. Dengan begitu, Anda dapat mengamati proses menyeluruh dan menguji otomatisasi apa pun yang mungkin telah Anda terapkan.
Selama simulasi peristiwa pemeliharaan host untuk instance yang menggunakan migrasi langsung, kunci metadata
maintenance-event
instance akan mengalami perubahan berikut:Untuk membuat kueri kunci peristiwa pemeliharaan, lihat Membuat kueri kunci metadata peristiwa pemeliharaan.
gcloud
Gunakan perintah
compute instances simulate-maintenance-event
untuk menyimulasikan peristiwa pemeliharaan untuk instance dan menguji setelan kebijakan pemeliharaan host yang dikonfigurasi:gcloud compute instances simulate-maintenance-event INSTANCE_NAME \ --zone=ZONE --with-extended-notifications=True
Ganti kode berikut:
REST
Buat permintaan
POST
ke metodecompute.instances.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent
Ganti kode berikut:
Menyimulasikan pemeliharaan host untuk instance komputasi yang dihentikan
Anda dapat menyimulasikan peristiwa pemeliharaan untuk instance komputasi menggunakan Google Cloud CLI atau permintaan API. Peristiwa simulasi ini mencakup berbagai aktivitas pemeliharaan yang terjadi dalam peristiwa pemeliharaan rutin. Dengan begitu, Anda dapat mengamati proses menyeluruh dan menguji otomatisasi apa pun yang mungkin telah Anda terapkan.
Selain itu, dengan menggunakan parameter
--with-extended-notifications
dengan jenis mesin yang didukung, Anda dapat menguji pemeliharaan host yang dimulai secara manual selama peristiwa simulasi.gcloud
REST
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 tetapNONE
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:
REST
Buat permintaan
POST
ke metodecompute.nodeGroups.simulateMaintenanceEvent
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent { "nodes": [ "NODE_NAMES" ] }
Ganti kode berikut:
Langkah berikutnya
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 2024-12-22 UTC.
-