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
-
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
-
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:
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
REST
Untuk menyiapkan template instance baru untuk grup Anda, panggil metode patch
pada MIG zonal atau regional lalu perbarui kolom versions.instanceTemplate
. Agar template baru tidak diluncurkan secara otomatis ke semua VM dalam grup, tetapkan kolom updatePolicy.type
ke OPPORTUNISTIC
.
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
ke true
:
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:
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
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 state instance. Misalnya, penggantian boot disk instance memerlukan penggantian instance. Anda dapat mengontrol tingkat gangguan selama update selektif dengan menetapkan opsi berikut:
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.
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:
- 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.
Langkah selanjutnya
- 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.