Dokumen ini menjelaskan cara menerapkan update konfigurasi secara selektif ke instance virtual machine (VM) dalam grup instance terkelola (MIG).
Compute Engine mengelola VM dalam MIG berdasarkan komponen konfigurasi yang Anda gunakan: template instance, konfigurasi semua instance opsional, dan konfigurasi stateful opsional.
Setiap kali Anda mengupdate konfigurasi VM MIG dengan mengubah komponen tersebut, Compute Engine akan otomatis menerapkan konfigurasi yang diupdate ke VM baru yang ditambahkan ke grup.
Untuk menerapkan konfigurasi terupdate ke VM yang ada, Anda dapat menyiapkan update selektif, yang juga dikenal sebagai jenis update "oportunistik". Jenis update ini menawarkan keunggulan berikut:
- Anda dapat memilih VM yang ingin diupdate.
- Anda dapat mengontrol pengaturan waktu dan urutan pembaruan.
- Anda dapat menggunakan gcloud CLI atau REST untuk langsung mengupdate semua VM.
Atau, jika Anda ingin mengotomatiskan peluncuran konfigurasi baru ke semua atau ke subset acak VM dalam MIG, lihat Menerapkan update konfigurasi VM secara otomatis di MIG. Untuk membantu Anda membuat keputusan, baca Metode untuk menerapkan konfigurasi baru ke VM yang ada.
Sebelum memulai
-
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
INSTANCE_GROUP_NAME
: nama MIGINSTANCE_TEMPLATE
: template instance baruINSTANCE_NAMES
: daftar VM tempat template akan diterapkanDISRUPTION_LEVEL
: level gangguan minimal atau maksimal:none
,refresh
,restart
, ataureplace
- Tindakan minimal default adalah
none
- Tindakan default paling mengganggu yang diizinkan adalah
replace
- Tindakan minimal default adalah
INSTANCE_GROUP_NAME
: nama grupNEW_TEMPLATE
: nama template baruZONE
: zona instance yang akan diupdateINSTANCE_NAME_1
danINSTANCE_NAME_2
: nama VM yang akan diupdateDISRUPTION_LEVEL
: level gangguan minimal atau maksimal:NONE
,REFRESH
,RESTART
, atauREPLACE
- Default
minimalAction
adalahNONE
. - Default
mostDisruptiveAllowedAction
adalahREPLACE
.
- Default
Tindakan minimal: Gunakan opsi ini untuk meminimalkan gangguan sebanyak mungkin atau untuk menerapkan tindakan yang lebih mengganggu daripada yang diperlukan.
- Untuk membatasi gangguan sebanyak mungkin, setel tindakan minimal ke
NONE
. Jika update Anda memerlukan tindakan yang lebih mengganggu, Compute Engine akan melakukan tindakan yang diperlukan untuk menjalankan update tersebut. - Untuk menerapkan tindakan yang lebih mengganggu daripada yang seharusnya, setel
tindakan minimal ke
RESTART
atauREPLACE
. Misalnya, Compute Engine tidak perlu memulai ulang VM untuk mengubah metadatanya. Namun, jika aplikasi Anda hanya membaca metadata instance saat VM dimulai ulang, Anda dapat menyetel tindakan minimal keRESTART
untuk mengambil perubahan metadata.
- Untuk membatasi gangguan sebanyak mungkin, setel tindakan minimal ke
Tindakan paling mengganggu yang diizinkan: Gunakan opsi ini untuk mencegah update jika memerlukan gangguan lebih besar dari yang Anda mampu. Jika update memerlukan tindakan yang lebih mengganggu daripada yang Anda setel dengan flag ini, permintaan update akan gagal. Misalnya, jika Anda menetapkan tindakan paling mengganggu yang diizinkan ke
RESTART
, upaya untuk mengupdate boot disk image akan gagal karena update tersebut memerlukan pembuatan ulang instance, yang merupakan tindakan yang lebih mengganggu daripada mulai ulang.- Tindakan minimal default adalah
NONE
, yang membatasi gangguan sebanyak mungkin. - Tindakan default paling mengganggu yang diizinkan adalah
REPLACE
. Jika Anda tidak dapat menoleransi gangguan tersebut, setel tindakan paling mengganggu yang diizinkan agar tidak terlalu mengganggu. - Pelajari cara Melihat info tentang MIG dan VM terkelola.
- Pelajari cara Membuat template instance.
- Pelajari cara menggunakan kelompok image dan penggantian berkelanjutan untuk mengupdate image OS pada semua VM di MIG.
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.
Menerapkan konfigurasi yang diupdate ke VM yang dipilih
Pastikan jenis kebijakan update grup Anda disetel ke "oportunistik" untuk mencegah MIG menerapkan konfigurasi VM baru secara otomatis ke VM yang sudah ada. Untuk mengetahui informasi selengkapnya, lihat Memeriksa jenis kebijakan update grup.
Kemudian, gunakan gcloud CLI atau REST untuk memperbarui konfigurasi MIG Anda dan menerapkan konfigurasi terbaru ke VM tertentu dalam grup atau ke semua VM dalam grup.
gcloud
Untuk menyiapkan template instance baru untuk grup, Anda dapat menggunakan perintah
set-instance-template
.gcloud compute instance-groups managed set-instance-template INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE
Menerapkan konfigurasi ke VM tertentu
Untuk menerapkan konfigurasi yang diupdate ke VM tertentu, gunakan perintah
update-instances
dengan flag--instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAMES \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Menerapkan konfigurasi ke semua VM
Untuk menerapkan konfigurasi yang diupdate ke semua VM, gunakan perintah
update-instances
dengan flag--all-instances
.gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Ganti kode berikut:
REST
Untuk menyiapkan template instance baru untuk grup Anda, panggil metode
patch
pada MIG zonal atau regional lalu perbarui kolomversions.instanceTemplate
. Agar template baru tidak diluncurkan secara otomatis ke semua VM dalam grup, tetapkan kolomupdatePolicy.type
keOPPORTUNISTIC
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "OPPORTUNISTIC" }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Menerapkan konfigurasi ke VM tertentu
Untuk menerapkan konfigurasi yang diupdate ke VM tertentu, panggil metode
applyUpdatesToInstances
untuk MIG zonal atau regional Anda dan tentukan daftar VM dalam permintaan.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ], "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Menerapkan konfigurasi ke semua VM
Untuk menerapkan konfigurasi yang diupdate ke semua VM yang ada, tetapkan kolom
allInstances
ketrue
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "allInstances": true, "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Ganti kode berikut:
Serupa dengan metode grup instance terkelola lainnya,
applyUpdatesToInstances
berbasis intent, yang berarti menampilkan respons operasi. Operasi ini dapat memerlukan waktu beberapa saat sampai selesai.Setelah membuat permintaan, Anda dapat memeriksa status untuk memverifikasi bahwa update selesai.
Mengontrol tingkat gangguan selama update selektif
Bergantung pada sifat update, update dapat mengganggu status instance. Misalnya, penggantian boot disk instance memerlukan penggantian instance. Anda dapat mengontrol tingkat gangguan selama update selektif dengan menetapkan opsi berikut:
Saat memperbarui VM yang dipilih, kedua opsi ini menerima nilai berikut:
Nilai Deskripsi Properti instance mana yang dapat diupdate? NONE
Jangan mengganggu instance sama sekali. Tidak ada REFRESH
Jangan hentikan instance. Disk tambahan, metadata instance, label, tag RESTART
Hentikan instance dan mulai lagi. Disk tambahan, metadata instance, label, tag, jenis mesin REPLACE
Hapus dan buat kembali instance tersebut. Semua properti instance yang disimpan dalam template instance atau konfigurasi per instance Tindakan paling mengganggu yang diizinkan tidak boleh lebih mengganggu daripada tindakan minimal.
Saat Anda mengupdate VM secara selektif, setelan default berikut akan berlaku:
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.
-