Dokumen ini menjelaskan cara menerapkan update konfigurasi secara otomatis 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 yang diupdate ke VM yang sudah ada, Anda dapat menyiapkan update otomatis, juga dikenal sebagai jenis update proaktif. MIG otomatis meluncurkan update konfigurasi ke semua atau sebagian VM grup. Anda dapat mengontrol kecepatan deployment, tingkat gangguan pada layanan, dan, dengan menggunakan update canary, jumlah instance yang diupdate MIG dengan konfigurasi baru. Setelah menentukan konfigurasi baru, Anda tidak perlu memberikan input tambahan dan update akan selesai dengan sendirinya.
Atau, jika Anda ingin menerapkan konfigurasi baru secara selektif hanya ke instance baru atau ke instance tertentu dalam MIG, lihat Menerapkan update konfigurasi VM secara selektif di MIG. Untuk membantu Anda membuat keputusan, baca Metode untuk menerapkan konfigurasi baru ke VM yang ada.
Sebelum memulai
- Jika Anda mengupdate MIG stateful, tinjau Menerapkan, melihat, dan menghapus konfigurasi stateful dalam MIG.
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- Tetapkan 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.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Batasan
- Jika Anda memiliki MIG stateful dan ingin menggunakan update berkelanjutan, Anda
harus mempertahankan nama instance saat mengganti instance atau, secara ekuivalen,
menetapkan metode penggantian ke
RECREATE. - Konfigurasi per instance untuk alamat IP tidak didukung untuk Dynamic Network Interface (NIC).
Memulai update berkelanjutan dasar
Update berkelanjutan dasar adalah update yang diterapkan secara bertahap ke semua instance dalam MIG hingga semua instance diupdate ke konfigurasi terbaru yang diinginkan. Update berkelanjutan akan otomatis melewati instance yang sudah dalam konfigurasi terbaru.
Anda dapat mengontrol berbagai aspek update berkelanjutan, seperti jumlah instance yang dapat dibuat offline untuk update, lama waktu tunggu di antara update instance, apakah template baru memengaruhi semua atau hanya sebagian instance, dan seterusnya.
Berikut adalah hal-hal yang perlu diperhatikan saat melakukan update berkelanjutan:
Update didasarkan pada intent. Saat Anda membuat permintaan update awal, Compute Engine API akan menampilkan respons keberhasilan untuk mengonfirmasi bahwa permintaan tersebut valid, tetapi tidak menunjukkan bahwa update berhasil. Anda harus memeriksa status grup untuk menentukan apakah update berhasil di-deploy.
Instance Group Updater API adalah API deklaratif. API mengharapkan permintaan untuk menentukan konfigurasi pasca-update MIG yang diinginkan, bukan panggilan fungsi eksplisit.
Update otomatis mendukung hingga dua versi template instance dalam MIG Anda. Artinya Anda dapat menentukan dua versi template instance yang berbeda untuk grup Anda, yang berguna untuk menjalankan update canary.
Untuk memulai update berkelanjutan dasar dengan update diterapkan ke semua instance dalam grup, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Instance groups.
Pilih MIG yang ingin diperbarui.
Klik Edit.
Klik Instance template & overrides untuk meluaskan bagian dan menambahkan template untuk pengujian sebagai berikut:
- Klik Tambahkan template untuk pengujian.
- Dalam daftar Instance template for testing, pilih template baru.
Jika template yang ingin Anda uji tidak tersedia, gunakan opsi Buat template instance baru dan ikuti perintah untuk membuatnya.
- Di kolom Target running, masukkan jumlah atau persentase instance yang ingin Anda terapkan template baru.
- Di kolom Instances or percentage, pilih instances atau percent yang menunjukkan jumlah yang Anda masukkan di kolom Target running.
Klik Perbarui kebijakan untuk meluaskan bagian tersebut dan lakukan hal berikut:
- Pilih Otomatis, jika belum dipilih.
- Biarkan nilai default untuk opsi lainnya atau ubah sesuai kebutuhan.
Klik Simpan untuk memulai update.
gcloud
Gunakan rolling-action start-update perintah.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=INSTANCE_TEMPLATE_URL
[--zone=ZONE | --region=REGION]
Ganti kode berikut:
INSTANCE_GROUP_NAME: nama MIGINSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat instance di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:- Untuk template instance regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Untuk template instance global:
INSTANCE_TEMPLATE_ID
- Untuk template instance regional:
ZONE: untuk MIG zona, masukkan zonaREGION: untuk MIG regional, masukkan region
REST
Panggil metode patch pada
resource MIG
regional
atau zona.
Misalnya, untuk MIG regional, permintaan berikut menunjukkan konfigurasi minimal yang diperlukan untuk mengupdate 100% instance secara otomatis ke template instance baru.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE",
"updatePolicy": {
"type": "PROACTIVE"
}
}Setelah membuat permintaan, Anda dapat memantau update untuk mengetahui kapan update selesai.
Untuk konfigurasi lanjutan, sertakan opsi update lainnya. Jika Anda
tidak menentukan sebaliknya, opsi maxSurge dan maxUnavailable akan ditetapkan secara default ke
1 dikalikan dengan jumlah zona yang terpengaruh. Artinya, hanya 1 instance
yang akan dibuat offline di setiap zona yang terpengaruh, dan MIG hanya membuat 1 instance
tambahan per zona, selama update.
Mengonfigurasi opsi untuk update Anda
Untuk update yang lebih kompleks, Anda dapat mengonfigurasi opsi tambahan, seperti dijelaskan di bagian berikut.
Mengupdate jenis
Grup instance terkelola mendukung dua jenis update:
- Update otomatis, atau proaktif
- Update selektif, atau oportunistik
Jika Anda ingin menerapkan update secara otomatis, setel jenis ke proaktif.
Atau, jika update otomatis berpotensi terlalu mengganggu, Anda dapat memilih untuk menjalankan update oportunistik. MIG menerapkan update oportunistik hanya ketika Anda memulai update secara manual pada instance yang dipilih atau saat instance baru dibuat. Instance baru dapat dibuat saat Anda atau layanan lain, seperti autoscaler, mengubah ukuran MIG. Compute Engine tidak secara aktif memulai permintaan untuk menerapkan update oportunistik pada instance yang ada.
Untuk mengetahui informasi lebih lanjut tentang update otomatis vs selektif, baca Metode untuk menerapkan konfigurasi baru ke VM yang ada.
Lonjakan maksimum
Gunakan opsi maxSurge untuk mengonfigurasi jumlah instance baru yang dapat dibuat oleh MIG
di atas targetSize selama update otomatis. Misalnya, jika Anda menyetel
maxSurge ke 5, MIG akan menggunakan template instance baru untuk membuat hingga 5
instance baru di atas ukuran target Anda. Menyetel nilai maxSurge yang lebih tinggi akan mempercepat
update, dengan mengorbankan instance tambahan, yang ditagih sesuai dengan
sheet harga Compute Engine.
Anda dapat menentukan angka tetap, atau persentase jika grup memiliki 10 instance atau lebih. Jika Anda menyetel persentase, Updater akan membulatkan jumlah instance jika diperlukan.
Jika Anda tidak menetapkan nilai maxSurge, nilai default akan digunakan. Untuk MIG zona,
nilai default untuk maxSurge adalah 1. Untuk MIG regional, nilai defaultnya adalah
jumlah zona yang terkait dengan grup, secara default 3.
maxSurge hanya berfungsi jika Anda memiliki cukup kuota atau resource untuk mendukung
resource tambahan.
Jika update Anda tidak mengharuskan penggantian VM, opsi ini akan diabaikan. Anda dapat memaksa VM untuk diganti selama update dengan menyetel opsi tindakan minimal.
Ketidaktersediaan maksimum
Gunakan opsi maxUnavailable untuk mengonfigurasi jumlah instance yang tidak tersedia
kapan saja selama update otomatis. Misalnya, jika Anda menyetel maxUnavailable
ke 5, hanya 5 instance yang akan dibuat offline untuk diupdate pada satu waktu. Gunakan
opsi ini untuk mengontrol seberapa mengganggu update terhadap layanan Anda dan mengontrol
kecepatan delpoyment update.
Jumlah ini juga mencakup instance yang tidak tersedia karena alasan
lain. Misalnya, jika grup sedang dalam proses
diubah ukurannya,
instance yang sedang dibuat mungkin tidak tersedia. Instance ini
dihitung dalam jumlah maxUnavailable.
Anda dapat menentukan angka tetap, atau persentase jika grup memiliki 10 instance atau lebih. Jika Anda menyetel persentase, Updater akan membulatkan ke bawah jumlah instance, jika perlu.
Jika Anda tidak menginginkan mesin yang tidak tersedia selama update, setel
nilai maxUnavailable ke 0 dan nilai maxSurge ke lebih besar dari 0. Dengan
setelan ini, Compute Engine akan menghapus setiap mesin lama hanya setelah
mesin baru penggantinya dibuat dan dijalankan.
Jika Anda tidak menyetel nilai maxUnavailable, nilai default akan digunakan. Untuk
MIG zona, nilai defaultnya adalah 1. Untuk MIG regional, nilai defaultnya adalah jumlah
zona yang terkait dengan grup, secara default 3.
Waktu tunggu minimum
Gunakan opsi minReadySec untuk menentukan jumlah waktu tunggu sebelum
mempertimbangkan instance baru atau yang dimulai ulang sebagai diupdate. Gunakan opsi ini untuk mengontrol
tingkat deployment update otomatis. Timer dimulai saat kedua
kondisi berikut terpenuhi:
- Status instance adalah
RUNNING. - Jika health check
diaktifkan, saat health check menampilkan
HEALTHY.
Perlu diperhatikan bahwa agar health check kembali responsif, Updater menunggu kondisi berikut:
- Menunggu hingga jangka waktu yang ditentukan oleh nilai
autohealingPolicies.initialDelaySecMIG agar health check ditampilkan sebagaiHEALTHY. - Lalu, menunggu selama jangka waktu yang ditentukan oleh
minReadySec.
Jika health check tidak menampilkan HEALTHY dalam initialDelaySec,
Updater akan mendeklarasikan instance VM sebagai tidak responsif dan berpotensi
menghentikan update. Sementara instance VM menunggu verifikasi selama
jangka waktu initialDelaySec dan minReadySec, currentAction instance
adalah
VERIFYING.
Namun, status instance VM yang mendasarinya tetap
RUNNING.
Jika tidak ada health check untuk grup, timer akan dimulai saat
status instance adalah RUNNING.
Nilai maksimum untuk kolom minReadySec adalah 3600 detik (1 jam).
Diagram berikut menunjukkan pengaruh opsi ukuran target, tidak tersedia maksimum, lonjakan maksimum, dan waktu tunggu minimum terhadap instance Anda. Untuk informasi selengkapnya tentang ukuran target, lihat Update canary.
Tindakan minimal
Gunakan opsi tindakan minimal untuk meminimalkan gangguan sebanyak mungkin atau untuk menerapkan tindakan yang lebih mengganggu daripada yang benar-benar diperlukan. 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 untuk memulai ulang agar dapat mengambil perubahan metadata.
Jika update memerlukan tindakan yang lebih mengganggu daripada yang Anda setel dengan flag ini, Compute Engine akan melakukan tindakan yang diperlukan untuk menjalankan update. Misalnya, jika Anda menentukan mulai ulang sebagai tindakan minimal, Updater akan mencoba memulai ulang instance untuk menerapkan update. Namun, jika Anda mengubah OS, yang tidak dapat dilakukan dengan memulai ulang instance, Updater akan mengganti instance dalam grup dengan instance VM baru.
Untuk informasi selengkapnya, termasuk opsi yang valid, baca Mengontrol tingkat gangguan selama update berkelanjutan.
Tindakan paling mengganggu yang diizinkan
Gunakan opsi tindakan paling mengganggu yang diizinkan untuk mencegah update jika memerlukan lebih banyak gangguan dari yang Anda mampu. Jika update tidak dapat diselesaikan karena setelan ini, update akan gagal dan VM Anda mempertahankan konfigurasi sebelumnya.
Untuk informasi selengkapnya, baca Mengontrol tingkat gangguan selama update berkelanjutan.
Metode penggantian
Secara default, ketika Anda mengupdate MIG secara proaktif, grup tersebut akan menghapus
instance VM Anda dan menukarnya dengan instance baru dengan nama baru. Jika perlu
mempertahankan nama instance VM, gunakan opsi replacementMethod.
Mempertahankan nama instance yang ada mungkin berguna jika Anda memiliki aplikasi atau sistem yang mengandalkan penggunaan nama instance tertentu. Misalnya, beberapa aplikasi, seperti Memcached, mengandalkan nama instance karena tidak memiliki layanan penemuan; akibatnya, setiap kali nama instance berubah, aplikasi akan kehilangan koneksi ke VM spesifik tersebut.
Untuk mempertahankan nama instance, setel metode pengganti ke RECREATE, bukan
SUBSTITUTE, jika Anda mengupdate MIG dengan gcloud CLI atau
Compute Engine API.
Atau, jika Anda mengupdate MIG dari konsol Google Cloud , pilih
kotak centang Keep names when replacing VMs.
Nilai replacementMethod yang valid adalah:
SUBSTITUTE(default). Mengganti instance VM lebih cepat selama update karena VM baru dibuat sebelum VM lama dimatikan. Namun, nama instance tidak dipertahankan karena nama tersebut masih digunakan oleh instance lama.RECREATE. Mempertahankan nama instance melalui update. Compute Engine merilis nama instance saat VM lama dimatikan. Kemudian, Compute Engine membuat instance baru menggunakan nama yang sama. Untuk menggunakan mode ini, Anda harus menyetelmaxSurgeke0.
Untuk mengetahui informasi selengkapnya, baca Mempertahankan nama instance.
Contoh update tambahan
Berikut beberapa contoh command line dengan opsi konfigurasi umum.
Lakukan update berkelanjutan pada semua instance VM, tetapi buat hingga 5 instance baru di atas ukuran target pada satu waktu
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=NEW_TEMPLATE \
--max-surge=5 \
[--zone=ZONE | --region=REGION]
Jalankan update berkelanjutan dengan maksimal 3 mesin yang tidak tersedia dan waktu tunggu minimum 3 menit sebelum menandai instance baru sebagai tersedia
gcloud beta compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=NEW_TEMPLATE \
--min-ready=3m \
--max-unavailable=3 \
[--zone=ZONE | --region=REGION]
Lakukan update berkelanjutan pada semua instance VM, tetapi buat hingga 10% instance baru di atas ukuran target pada satu waktu
Misalnya, jika Anda memiliki 1.000 instance dan menjalankan perintah berikut, Updater akan membuat hingga 100 instance sebelum mulai menghapus instance yang menjalankan template instance sebelumnya.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=NEW_TEMPLATE \
--max-surge=10% \
[--zone=ZONE | --region=REGION]
Update Canary
Update canary adalah update yang diterapkan ke subset instance dalam grup. Dengan update canary, Anda dapat menguji fitur baru atau upgrade pada subset instance acak, bukan meluncurkan update yang berpotensi mengganggu ke semua instance Anda. Jika update tidak berjalan dengan baik, Anda hanya perlu me-roll back subset instance, sehingga meminimalkan gangguan bagi pengguna Anda.
Update canary sama dengan update berkelanjutan standar, hanya saja jumlah instance yang harus diupdate kurang dari ukuran total grup instance. Seperti update berkelanjutan standar, Anda dapat mengonfigurasi opsi tambahan untuk mengontrol tingkat gangguan terhadap layanan.
Mulai update canary
Untuk memulai update canary, tentukan hingga dua versi template instance,
biasanya template instance baru ke canary dan template instance saat ini
untuk sisa instance. Misalnya, Anda dapat menentukan bahwa 20%
instance Anda dibuat berdasarkan NEW_INSTANCE_TEMPLATE
sementara instance lainnya terus berjalan di
OLD_INSTANCE_TEMPLATE. Anda tidak dapat menentukan lebih dari dua
template instance sekaligus. NEW_INSTANCE_TEMPLATE
dapat berupa template instance regional dari region yang sama dengan
MIG Anda atau template instance global.
Anda harus selalu menentukan ukuran target (targetSize) untuk versi canary. Anda
tidak dapat memulai update canary jika menghapus ukuran target untuk versi
canary. Misalnya, jika Anda menentukan bahwa 10% instance harus digunakan untuk
canary, 90% sisanya tidak akan disentuh dan menggunakan template instance
saat ini.
Konsol
Di konsol Google Cloud , buka halaman Instance groups.
Pilih grup instance terkelola yang ingin diupdate.
Klik Edit.
Klik Instance template & overrides untuk meluaskan bagian tersebut.
- Klik Tambahkan template untuk pengujian.
- Dalam daftar Instance template for testing, pilih template baru.
Jika template yang ingin Anda uji tidak tersedia, gunakan opsi Buat template instance baru dan ikuti perintah untuk membuatnya.
- Di kolom Target running, masukkan jumlah atau persentase instance yang ingin Anda terapkan template baru.
- Di kolom Instances or percentage, pilih instances atau percent yang menunjukkan jumlah yang Anda masukkan di kolom Target running.
Opsional: Untuk mengonfigurasi opsi lain untuk update, klik Kebijakan update untuk meluaskan bagian. Ubah kolom sesuai kebutuhan.
Klik Simpan untuk memulai update.
gcloud
Gunakan
perintah rolling-action start-update.
Masukkan template saat ini dan template baru untuk secara eksplisit menyatakan
jumlah instance yang harus menggunakan setiap template:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=CURRENT_INSTANCE_TEMPLATE \
--canary-version=template=NEW_TEMPLATE,target-size=SIZE \
[--zone=ZONE | --region=REGION]
Ganti kode berikut:
INSTANCE_GROUP_NAME: nama grup instance.CURRENT_INSTANCE_TEMPLATE: template instance saat ini yang digunakan oleh grup.NEW_TEMPLATE: template baru yang ingin Anda uji.SIZE: jumlah atau persentase instance tempat Anda ingin menerapkan pembaruan ini. Anda harus menerapkan propertitarget-sizeke template--canary-version. Anda hanya dapat menyetel persentase jika grup berisi 10 instance atau lebih.ZONE: untuk MIG zona, masukkan zona.REGION: untuk MIG regional, masukkan region,
Misalnya, perintah berikut melakukan update canary yang meluncurkan
example-template-B hingga 10% instance dalam grup:
gcloud compute instance-groups managed rolling-action start-update example-mig \
--version=template=example-template-A \
--canary-version=template=example-template-B,target-size=10%
REST
Panggil metode patch pada
resource MIG
regional
atau zona. Di isi permintaan, sertakan template instance
saat ini dan template instance baru yang ingin di-canary. Contoh:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"versions": [
{
"instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE",
"targetSize": {
"[percent|fixed]": NUMBER|PERCENTAGE # Use `fixed` for a specific number of instances
}
},
{
"instanceTemplate": "global/instanceTemplates/CURRENT_INSTANCE_TEMPLATE"
}
]
}Ganti kode berikut:
NEW_TEMPLATE: nama template baru yang ingin di-canary.NUMBER|PERCENTAGE: angka tetap atau persentase instance untuk melakukan update canary. Anda hanya dapat menyetel persentase jika grup berisi 10 instance atau lebih. Jika tidak, berikan angka tetap.CURRENT_INSTANCE_TEMPLATE: template instance saat ini yang digunakan oleh grup.
Untuk opsi selengkapnya, baca Mengonfigurasi opsi untuk update.
Setelah membuat permintaan, Anda dapat memantau update untuk mengetahui kapan update selesai.
Meluncurkan update canary
Setelah menjalankan update canary, Anda dapat membuat keputusan apakah ingin meng-commit update hingga 100% MIG atau melakukan roll back.
Konsol
Di konsol Google Cloud , buka halaman Instance groups.
Pilih grup instance terkelola yang ingin diupdate.
Klik Edit.
Untuk template instance yang Anda pilih untuk pengujian, perbarui nilai Target running dari template pengujian menjadi 100% untuk meluncurkan template pengujian ke semua instance Anda.
Atau, Anda dapat mengganti template asli dengan template pengujian dan menghapus template instance untuk pengujian.
Klik Simpan untuk memulai update.
gcloud
Jika ingin meng-commit update canary, luncurkan update dengan
mengeluarkan perintah rolling-action start-update lainnya,
tetapi hanya setel flag version dan hapus --canary-version.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=NEW_TEMPLATE \
[--zone=ZONE | --region=REGION]
REST
Panggil metode patch pada
resource MIG
regional
atau zona. Di isi permintaan, tentukan template instance baru sebagai
version dan hapus template instance sebelumnya dari isi permintaan.
Hapus spesifikasi ukuran target untuk meluncurkan update ke 100%
instance. Contoh:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"versions": [
{
"instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" # New instance template
}
]
}
Memantau update
Setelah Anda memulai update, perlu waktu beberapa saat agar konfigurasi baru selesai diluncurkan ke semua instance yang terpengaruh. Anda dapat memantau progres update dengan memeriksa hal berikut:
- Untuk memastikan apakah semua VM telah menjangkau versi template targetnya, lihat status grup.
- Untuk memastikan bahwa VM tertentu telah menjangkau versi template targetnya, baca tindakan saat ini pada instance.
- Untuk MIG stateful, baca juga Memverifikasi apakah konfigurasi per instance telah diterapkan.
Status grup
Di tingkat grup, Compute Engine mengisi kolom hanya baca yang disebut
status yang berisi
flag versionTarget.isReached
dan
flag isStable. Anda dapat
menggunakan gcloud CLI atau REST untuk mengakses
flag ini. Anda juga dapat menggunakan konsol Google Cloud untuk melihat jumlah instance saat ini dan yang direncanakan yang sedang diupdate.
Konsol
Anda dapat memantau update berkelanjutan untuk suatu grup dengan membuka halaman detail grup tersebut.
Di konsol Google Cloud , buka halaman Instance groups.
Pilih grup instance terkelola yang ingin Anda pantau. Halaman ringkasan untuk grup tersebut menampilkan template yang digunakan oleh setiap instance.
Untuk melihat detailnya, klik tab Details.
Di bagian Instance template, Anda dapat melihat jumlah instance saat ini dan target untuk setiap template instance.
Untuk melihat setelan pembaruan, klik Perbarui parameter untuk meluaskan.
gcloud
Gunakan perintah describe.
gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \
[--zone=ZONE | --region=REGION]
Anda juga dapat menggunakan
perintah gcloud compute instance-groups managed wait-until
dengan flag --version-target-reached untuk menunggu hingga
status.versionTarget.isReached disetel ke true untuk grup .
gcloud compute instance-groups managed wait-until INSTANCE_GROUP_NAME \
--version-target-reached \
[--zone=ZONE | --region=REGION]
REST
Panggil metode get pada
resource MIG
regional
atau zona.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/get
Memverifikasi apakah peluncuran update telah selesai
Verifikasi apakah peluncuran update selesai dengan memeriksa nilai
kolom status.versionTarget.isReached MIG:
status.versionTarget.isReachedyang disetel ketruemenunjukkan bahwa semua instance VM telah atau sedang dibuat menggunakan versi target.status.versionTarget.isReachedyang disetel kefalsemenunjukkan bahwa setidaknya satu VM belum menggunakan versi target. Atau, dalam kasus update canary,falsemenunjukkan bahwa jumlah VM yang menggunakan versi target tidak cocok dengan ukuran targetnya.
Memeriksa apakah grup instance terkelola stabil
Pastikan semua instance dalam grup instance terkelola berjalan dan responsif dengan memeriksa nilai kolomstatus.isStable grup.
status.isStable yang disetel ke false menunjukkan bahwa perubahan aktif, tertunda, atau
MIG itu sendiri sedang diubah.
status.isStable yang ditetapkan ke true menunjukkan hal berikut:
- Tidak ada instance di MIG yang mengalami jenis perubahan apa pun dan
currentActionuntuk semua instance adalahNONE. - Tidak ada perubahan yang tertunda untuk instance di MIG.
- MIG itu sendiri tidak dimodifikasi.
Ingatlah bahwa stabilitas MIG bergantung pada banyak faktor, karena MIG dapat dimodifikasi dengan berbagai cara. Contoh:
- Anda membuat permintaan untuk meluncurkan template instance baru.
- Anda membuat permintaan untuk membuat, menghapus, mengubah ukuran, atau memperbarui instance di MIG.
- Autoscaler meminta untuk mengubah ukuran MIG.
- Resource autohealer menggantikan satu atau beberapa instance yang tidak responsif di MIG.
- Pada MIG regional, beberapa instance sedang didistribusikan ulang.
Segera setelah semua tindakan selesai, status.isStable disetel ke true lagi
untuk MIG tersebut.
Tindakan saat ini pada instance
Gunakan Google Cloud CLI atau REST untuk melihat detail instance dalam grup instance terkelola. Detail mencakup status instance dan tindakan saat ini yang dilakukan grup pada instance-nya.
gcloud
Semua instance terkelola
Untuk memeriksa status dan tindakan saat ini pada semua instance dalam grup, gunakan
perintah list-instances.
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \
[--zone=ZONE | --region=REGION]Perintah ini menampilkan daftar instance dalam grup, termasuk statusnya, tindakan saat ini, dan detail lainnya:
NAME: vm-instances-9pk4 ZONE: us-central1-f STATUS: HEALTH_STATE: ACTION: CREATING INSTANCE_TEMPLATE: my-new-template VERSION_NAME: LAST_ERROR: NAME: vm-instances-h2r1 ZONE: us-central1-f STATUS: STOPPING HEALTH_STATE: ACTION: DELETING INSTANCE_TEMPLATE: my-old-template VERSION_NAME: LAST_ERROR:
Kolom HEALTH_STATE akan tampak kosong kecuali jika Anda telah
menyiapkan health check.
Instance terkelola tertentu
Untuk memeriksa status dan tindakan saat ini untuk instance tertentu dalam grup,
gunakan
perintah describe-instance.
gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
--instance INSTANCE_NAME \
[--zone=ZONE | --region=REGION]Perintah ini menampilkan detail tentang instance, termasuk status instance, tindakan saat ini, dan, untuk MIG stateful, status yang dipertahankan:
currentAction: NONE
id: '6789072894767812345'
instance: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/example-mig-hz41
instanceStatus: RUNNING
name: example-mig-hz41
preservedStateFromConfig:
metadata:
example-key: example-value
preservedStateFromPolicy:
disks:
persistent-disk-0:
autoDelete: NEVER
mode: READ_WRITE
source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/disks/example-mig-hz41
version:
instanceTemplate: https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template
REST
Panggil metode listManagedInstances pada
resource MIG
regional
atau zona. Misalnya, untuk melihat detail tentang instance dalam resource MIG zona, Anda dapat membuat permintaan berikut:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/listManagedInstances
Panggilan ini menampilkan daftar instance untuk MIG termasuk instanceStatus dan currentAction
setiap instance.
{
"managedInstances": [
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/vm-instances-prvp",
"instanceStatus": "RUNNING",
"currentAction": "REFRESHING",
"id": "5317605642920955957",
"version": {
instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template"
},
"name": "vm-instances-prvp"
},
{
"instance": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-f/instances/vm-instances-w2t5",
"instanceStatus": "RUNNING",
"currentAction": "REFRESHING",
"id": "2800161036826218547",
"version": {
"instanceTemplate": "https://www.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates/example-template"
},
"name": "vm-instances-w2t5"
}
]
}
Jika Anda menyiapkan health check,
respons juga mencakup kolom instanceHealth.
Untuk melihat daftar nilai kolom instanceStatus yang valid, lihat
Siklus proses instance VM.
Jika instance mengalami beberapa jenis perubahan, grup instance terkelola
akan menetapkan kolom currentAction instance ke salah satu tindakan berikut untuk
membantu Anda melacak progres perubahan tersebut. Jika tidak, kolom currentAction
akan ditetapkan ke NONE.
Nilai currentAction yang mungkin adalah:
ABANDONING. Instance sedang dihapus dari MIG.CREATING. Instance sedang dalam proses dibuat.CREATING_WITHOUT_RETRIES. Instance sedang dibuat tanpa percobaan ulang; jika instance tidak dibuat pada percobaan pertama, MIG tidak akan mencoba mengganti instance lagi.DELETING. Instance sedang dalam proses dihapus.RECREATING. Instance sedang diganti.REFRESHING. Instance dihapus dari kumpulan targetnya saat ini dan ditambahkan kembali ke daftar kumpulan target saat ini (daftar ini mungkin sama atau berbeda dari kumpulan target yang ada).RESTARTING. Instance sedang dalam proses dimulai ulang menggunakan metodestopdanstart.RESUMING. Instance sedang dalam proses dilanjutkan setelah ditangguhkan.STARTING. Instance sedang dalam proses dimulai setelah dihentikan.STOPPING. Instance sedang dihentikan.SUSPENDING. Instance sedang ditangguhkan.VERIFYING. Instance telah dibuat dan sedang dalam proses diverifikasi.NONE. Tidak ada tindakan yang dilakukan pada instance.
Melakukan roll back pada update
Tidak ada perintah eksplisit untuk me-roll back update ke versi sebelumnya, tetapi jika Anda memutuskan untuk me-roll back update (baik update yang di-commit penuh maupun update terbatas), Anda dapat melakukannya dengan membuat permintaan update baru dan meneruskan template instance tempat Anda ingin melakukan roll back.
gcloud
Misalnya, perintah gcloud CLI berikut me-roll back
update secepat mungkin. Ganti
OLD_INSTANCE_TEMPLATE dengan nama template
instance yang ingin Anda roll back.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--version=template=OLD_INSTANCE_TEMPLATE \
--max-unavailable=100% \
[--zone=ZONE | --region=REGION]REST
Panggil metode patch pada
resource MIG
regional
atau zona.
Di isi permintaan, tentukan template instance sebelumnya sebagai version:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy":
{
"maxUnavailable":
{
"percent": 100
}
},
"versions": [
{
"instanceTemplate": "global/instanceTemplates/OLD_INSTANCE_TEMPLATE" # Old instance template
}
]
}Untuk MIG regional dengan kurang dari 10 instance, Anda harus menggunakan nilai tetap
untuk maxUnavailable dan menyetel nilai ke jumlah instance dalam
grup.
Updater memperlakukan permintaan rollback sama seperti permintaan update reguler, sehingga Anda dapat menentukan opsi update tambahan.
Menghentikan update
Tidak ada metode atau perintah eksplisit untuk menghentikan update. Anda dapat mengubah update dari proaktif menjadi oportunistik, dan jika ukuran grup tidak diubah oleh layanan lain seperti autoscaler, perubahan ke oportunistik akan secara efektif menghentikan update.
Untuk mengubah update dari proaktif ke oportunistik dengan menggunakan gcloud CLI, jalankan perintah berikut:
gcloud compute instance-groups managed rolling-action stop-proactive-update INSTANCE_GROUP_NAME \
[--zone=ZONE | --region=REGION]Untuk menghentikan update sepenuhnya setelah mengonversinya dari proaktif menjadi oportunistik, ikuti langkah-langkah berikut:
Buat permintaan untuk menentukan jumlah instance yang telah diupdate:
gcloud compute instance-groups managed list-instances INSTANCE_GROUP_NAME \ [--zone=ZONE | --region=REGION]
Gcloud CLI menampilkan respons yang menyertakan daftar instance dalam grup dan statusnya saat ini:
NAME ZONE STATUS HEALTH_STATE ACTION INSTANCE_TEMPLATE VERSION_NAME LAST_ERROR vm-instances-9pk4 us-central1-f RUNNING HEALTHY NONE example-new-template vm-instances-j1h8 us-central1-f RUNNING HEALTHY NONE example-old-template vm-instances-ngod us-central1-f STAGING UNKNOWN CREATING example-new-template
Dalam contoh ini, dua instance telah diupdate.
Selanjutnya, buat permintaan untuk menjalankan update baru, tetapi teruskan jumlah instance yang telah diupdate sebagai ukuran target:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version template=OLD_INSTANCE_TEMPLATE \ --canary-version template=NEW_INSTANCE_TEMPLATE,target-size=2 \ [--zone=ZONE | --region=REGION]
Bagi Updater, update ini tampak selesai, sehingga tidak ada instance lain yang diupdate, sehingga menghentikan update secara efektif.
Mengontrol kecepatan update berkelanjutan
Secara default, saat Anda membuat permintaan update, Updater akan menjalankan update secepat mungkin. Jika tidak yakin ingin menerapkan update sepenuhnya atau sedang menguji perubahan untuk sementara, Anda dapat mengontrol kecepatan update menggunakan metode berikut.
- Mulai update canary, bukan update penuh.
- Setel nilai
minReadySecyang besar. Menyetel nilai ini akan membuat Updater menunggu selama jumlah detik ini sebelum menganggap instance berhasil diupdate dan melanjutkan ke instance berikutnya. - Aktifkan health check agar Updater menunggu aplikasi Anda dimulai dan melaporkan sinyal responsif sebelum menganggap instance berhasil diupdate dan dilanjutkan ke instance berikutnya.
- Setel nilai
maxUnavailabledanmaxSurgeyang rendah. Hal ini memastikan bahwa hanya ada sedikit instance yang diperbarui pada satu waktu. - Update instance secara selektif di MIG, bukan menggunakan update otomatis.
Anda juga dapat menggunakan kombinasi metode ini untuk mengontrol kecepatan update.
Mengontrol tingkat gangguan selama update berkelanjutan
Bergantung pada sifat update, update dapat mengganggu status siklus proses instance. Misalnya, perubahan boot disk instance memerlukan penggantian instance. Anda dapat mengontrol tingkat gangguan selama update berkelanjutan dengan menyetel 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
REFRESH. 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
RESTARTatauREPLACE. 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 keRESTARTuntuk 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 menyetel tindakan paling mengganggu yang diizinkan ke
RESTART, upaya untuk mengupdate boot disk image akan gagal karena update tersebut memerlukan penggantian instance, tindakan yang lebih mengganggu daripada mulai ulang.
Kedua opsi ini menerima nilai berikut:
| Nilai | Deskripsi | Properti instance mana yang dapat diupdate? |
|---|---|---|
REFRESH |
Jangan hentikan instance. | Disk tambahan, Antarmuka Jaringan (NIC) Dinamis, metadata instance, label, tag |
RESTART |
Hentikan instance dan mulai lagi. | Disk tambahan, NIC Dinamis, metadata instance, label, tag, jenis mesin |
REPLACE |
(Default) Ganti instance sesuai dengan opsi metode penggantian. | Semua properti instance yang disimpan dalam template instance atau konfigurasi per instance |
Tindakan paling mengganggu yang diizinkan tidak boleh lebih mengganggu daripada tindakan minimal.
Jika Anda meluncurkan update secara otomatis, setelan default berikut akan berlaku:
- Tindakan minimal default adalah
REPLACE. Jika Anda ingin mencegah gangguan yang tidak perlu, setel tindakan minimal agar tidak terlalu mengganggu. - 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.
Anda dapat mengubah perilaku default ini dengan menggunakan Compute Engine API untuk menyetel kolom updatePolicy.minimalAction dan updatePolicy.mostDisruptiveAllowedAction
dalam resource MIG Anda–misalnya, dengan memanggil
metode regionInstanceGroupManagers.patch.
Atau, Anda dapat memilih Tindakan yang diizinkan untuk mengupdate VM
tertentu saat Anda mengupdate MIG dari konsol Google Cloud .
Untuk melihat setelan saat ini, baca
Mendapatkan properti MIG.
Update gagal jika memerlukan tindakan yang lebih mengganggu dari yang Anda izinkan. Jika hal ini terjadi, Anda dapat mencoba update lagi dengan tindakan lebih mengganggu yang diizinkan, atau Anda dapat mengupdate instance secara selektif. Compute Engine melakukan validasi upaya terbaik untuk melihat apakah instance dapat diupdate dengan batas gangguan yang ditentukan. Namun, karena perubahan serentak dalam sistem, situasinya dapat berubah setelah update dimulai. Jika operasi pada instance tertentu gagal, cantumkan error instance untuk melihat error tersebut.
Melakukan penggantian atau mulai ulang berkelanjutan
Mulai ulang berkelanjutan akan menghentikan dan memulai ulang semua instance, dan penggantian berkelanjutan akan menggantikan semua instance sesuai dengan opsi metode penggantian. Anda mungkin ingin melakukan penggantian atau mulai ulang berkelanjutan karena alasan berikut:
- Menghapus kebocoran memori.
- Memulai ulang aplikasi agar dapat berjalan dari komputer baru.
- Menerapkan penggantian berkala sebagai praktik terbaik untuk menguji instance Anda.
- Update image sistem operasi instance atau jalankan kembali skrip startup untuk mengupdate software Anda.
Saat Anda melakukan penggantian atau memulai ulang instance secara bertahap menggunakan Google Cloud konsol atau Google Cloud CLI, tindakan mendasar berikut akan terjadi di MIG. Namun, jika Anda menggunakan REST, Anda harus menetapkan kolom ini dalam permintaan untuk memicu operasi mulai ulang atau penggantian.
- Jika
updatePolicy.typeadalahOPPORTUNISTIC, maka MIG mengubah jenis menjadiAUTOMATIC. - MIG memperbarui
versions.namesetiap instance.
Untuk melakukan penggantian atau mulai ulang bertahap, pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Instance groups.
Pilih grup instance terkelola yang memiliki VM yang ingin Anda mulai ulang atau ganti.
Klik Restart/replace VMs.
Di bagian Operation, pilih Restart atau Replace.
- Jika Anda memilih Restart, ubah parameter berikut atau gunakan nilai default:
- Jika Anda memilih Replace, lakukan tindakan berikut:
- Pilih apakah Anda ingin mempertahankan nama instance saat mengganti instance.
- Tentukan parameter berikut atau gunakan nilai default:
Untuk memulai operasi, klik Restart VMs atau Replace VMs.
gcloud
Gunakan perintah restart
atau perintah replace.
Perintah berikut melakukan penggantian atau memulai ulang instance secara bertahap di
MIG zona. Untuk MIG regional, ganti tanda --zone=ZONE
dengan --region=REGION.
Untuk memulai ulang semua instance di MIG zonal, satu per satu:
gcloud compute instance-groups managed rolling-action restart INSTANCE_GROUP_NAME \ --zone=ZONEUntuk mengganti semua instance di MIG tingkat zona, satu per satu:
gcloud compute instance-groups managed rolling-action replace INSTANCE_GROUP_NAME \ --zone=ZONE
Anda dapat menyesuaikan lebih lanjut perintah ini dengan opsi yang sama yang tersedia untuk update—misalnya, --max-surge dan --max-unavailable.
REST
Kirim permintaan PATCH menggunakan salah satu metode berikut:
- Untuk MIG regional, gunakan metode
regionInstanceGroupManagers.patch. - Untuk MIG zona, gunakan metode
instanceGroupManagers.patch.
Dalam isi permintaan, Anda harus menyetel kolom berikut. Jika Anda tidak menentukan kolom ini, permintaan mungkin masih berhasil, tetapi MIG tidak melakukan operasi mulai ulang atau penggantian.
Tetapkan kolom
updatePolicy.minimalActionkeRESTARTatauREPLACE.Tetapkan kolom
versions.name. Misalnya, tentukan nomor versi dengan stempel waktu—v2-ddmmyyhhmm.Tetapkan kolom
versions.instanceTemplateke URL template saat ini.
Untuk memulai ulang semua instance di MIG zona, buat permintaan berikut. Untuk
mengganti semua instance, tetapkan kolom minimialAction ke REPLACE dalam
permintaan yang sama.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy": {
"minimalAction": "RESTART",
"type": "PROACTIVE"
},
"versions": [
{
"instanceTemplate": "global/instanceTemplates/CURRENT_INSTANCE_TEMPLATE",
"name": "v2-1705499403"
}
]
}
Anda dapat menyesuaikan permintaan lebih lanjut dengan opsi yang sama
yang tersedia untuk update—misalnya, maxSurge dan maxUnavailable.
Setelah menyelesaikan operasi mulai ulang atau penggantian, Anda dapat
mencantumkan VM MIG
dan memeriksa kolom versions.name setiap VM untuk menentukan VM mana yang telah
dimulai ulang atau diganti.
Contoh penggantian/mulai ulang tambahan
Jalankan mulai ulang berkelanjutan pada semua VM, dua sekaligus
Perintah berikut akan memulai ulang semua VM dalam grup, dua sekaligus. Perhatikan bahwa template instance baru tidak ditentukan.
gcloud compute instance-groups managed rolling-action restart INSTANCE_GROUP_NAME \
--max-unavailable=2 \
[--zone=ZONE | --region=REGION]Jalankan mulai ulang berkelanjutan pada semua VM secepat mungkin
gcloud compute instance-groups managed rolling-action restart INSTANCE_GROUP_NAME \
--max-unavailable=100% \
[--zone=ZONE | --region=REGION]Jalankan penggantian berkelanjutan pada semua VM secepat mungkin
gcloud compute instance-groups managed rolling-action replace INSTANCE_GROUP_NAME \
--max-unavailable=100% \
[--zone=ZONE | --region=REGION]Mempertahankan nama instance
Jika Anda perlu mempertahankan nama instance VM saat terjadi update, setel
replacementMethod ke RECREATE. Anda juga harus menyetel
maxUnavailable ke lebih besar dari 0 dan
maxSurge ke 0. Membuat ulang instance dan bukan menggantinya
akan menyebabkan penyelesaian update Anda memakan waktu lebih lama, tetapi instance yang diupdate
akan tetap mempertahankan namanya.
Jika Anda tidak menentukan metode penggantian, nilai updatePolicy.replacementMethod MIG saat ini
akan digunakan. Jika tidak disetel, nilai default
substitute akan digunakan, yang menggantikan instance VM dengan instance baru
yang memiliki nama yang dibuat secara acak.
gcloud
Saat mengeluarkan perintah rolling-action,
sertakan flag --replacement-method=recreate.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
--replacement-method=recreate \
--version=template=NEW_TEMPLATE \
--max-unavailable=5 \
[--zone=ZONE | --region=REGION]
REST
Panggil metode patch pada
resource MIG
regional
atau zona. Di isi permintaan, sertakan
kolom updatePolicy.replacementMethod:
PATCH /compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
{
"updatePolicy": {
"type": "PROACTIVE",
"maxUnavailable": { "fixed": 5 },
"replacementMethod": "RECREATE"
},
"versions": [ {
"instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE"
} ]
}Setelah membuat permintaan, Anda dapat memantau update untuk mengetahui kapan update selesai.
Memperbarui grup instance terkelola regional
MIG regional berisi beberapa instance VM yang tersebar di beberapa zona dalam satu region, berbeda dengan MIG zona, yang hanya berisi beberapa instance dalam satu zona. Dengan MIG regional, Anda dapat mendistribusikan instance di lebih dari satu zona untuk meningkatkan ketersediaan aplikasi dan untuk mendukung kasus ekstrem saat satu zona gagal atau seluruh grup instance berhenti merespons.
Menjalankan update pada MIG regional sama dengan melakukan update pada MIG zona, dengan beberapa pengecualian yang dijelaskan di bawah ini. Saat Anda memulai update ke MIG regional, Updater akan selalu mengupdate instance secara proporsional dan merata di setiap zona. Anda tidak dapat memilih instance di zona mana yang akan diupdate terlebih dahulu dan Anda tidak dapat memilih untuk mengupdate instance hanya dalam satu zona.
Perbedaan antara mengupdate MIG regional versus zona
MIG regional memiliki nilai update default berikut:
maxUnavailable=NUMBER_OF_ZONESmaxSurge=NUMBER_OF_ZONES
NUMBER_OF_ZONES adalah jumlah zona yang terkait dengan
MIG regional. Secara default, jumlah zona untuk MIG regional adalah 3. Namun
Anda dapat memilih
angka lain.
Jika Anda menggunakan angka tetap saat menentukan update, angka tetapnya
harus 0 atau sama dengan atau lebih besar dari jumlah zona yang terkait
dengan MIG regional. Misalnya, jika grup didistribusikan
di tiga zona, Anda tidak dapat menyetel maxSurge ke 1 atau 2 karena
Updater harus membuat instance tambahan di setiap zona dari tiga zona.
Menggunakan angka tetap atau persentase dalam permintaan update
Jika Anda menentukan angka tetap dalam permintaan update, jumlah yang Anda tentukan
akan dibagi dengan jumlah zona di MIG regional dan didistribusikan secara merata. Misalnya,
jika Anda menentukan maxSurge=10, Updater akan membagi 10 di
jumlah zona dalam region dan membuat instance berdasarkan angka tersebut. Jika
jumlah instance tidak dibagi secara merata di seluruh zona, Updater akan menambahkan
instance lainnya ke zona acak. Jadi, untuk 10 instance di tiga zona,
dua zona mendapatkan 3 instance dan satu zona mendapatkan 4 instance. Logika yang sama
diterapkan pada parameter maxUnavailable dan targetSize untuk update
canary.
Anda dapat menentukan persentase hanya jika MIG Anda berisi 10 instance VM atau lebih. Persentase ditangani sedikit berbeda tergantung situasinya:
Jika Anda menentukan persentase instance VM untuk update canary, Updater akan mencoba mendistribusikan instance secara merata di seluruh zona. Sisanya akan dibulatkan ke atas atau ke bawah di setiap zona, tetapi selisih totalnya tidak lebih dari 1 instance VM per grup. Misalnya, untuk MIG dengan 10 instance dan persentase ukuran target sebesar 25%, update diluncurkan ke 2 hingga 3 instance VM.
Jika Anda menentukan persentase untuk opsi update seperti
maxSurgedanmaxUnavailable, persentase akan dibulatkan secara independen per zona.
Langkah berikutnya
- Pelajari cara Melihat info tentang MIG dan instance terkelola.
- Pelajari cara Membuat template instance.
- Pelajari cara menggunakan kelompok image dan penggantian berkelanjutan untuk mengupdate image OS pada semua VM di MIG.