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 yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
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.
Izin yang diperlukan untuk langkah ini
Untuk menjalankan tugas ini, Anda harus memiliki izin berikut:
- Untuk MIG zona, semua izin yang diperlukan untuk memanggil metode
instanceGroupManagers.patch
- Untuk MIG regional, semua izin yang diperlukan untuk memanggil metode
regionInstanceGroupManagers.patch
Untuk menyiapkan template instance baru untuk grup, Anda dapat menggunakan perintah set-instance-template
.
gcloud compute instance-groups managed set-instance-templateINSTANCE_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-instancesINSTANCE_GROUP_NAME \ --instancesINSTANCE_NAMES \ --most-disruptive-allowed-actionDISRUPTION_LEVEL \ --minimal-actionDISRUPTION_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-instancesINSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-actionDISRUPTION_LEVEL \ --minimal-actionDISRUPTION_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
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 status 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 berikutnya
- 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.