Halaman ini menjelaskan cara mengonfigurasi instance virtual machine (VM) dalam grup instance terkelola (MIG) dan metode yang dapat Anda gunakan untuk menerapkan konfigurasi ke VM dalam grup.
Tentukan konfigurasi yang diinginkan untuk VM di MIG menggunakan komponen konfigurasi VM berikut:
- Wajib: Template instance
- Opsional: Konfigurasi semua instance
- Opsional: Konfigurasi stateful
Setiap kali Anda mengupdate konfigurasi yang diinginkan menggunakan komponen tersebut, Compute Engine akan secara otomatis menerapkan konfigurasi yang telah Anda perbarui ke VM baru yang ditambahkan ke grup.
Untuk menerapkan konfigurasi terbaru ke VM yang ada, gunakan metode yang dijelaskan di halaman ini:
- Peluncuran otomatis dengan anggaran gangguan dan update canary opsional untuk template baru
- Update manual yang selektif hanya untuk VM tertentu, untuk meminimalkan gangguan
- Pembuatan ulang VM tertentu
Anda juga dapat mengonfigurasi MIG untuk menerapkan konfigurasi terbaru yang tersedia ke VM selama perbaikan VM. Untuk mengetahui informasi selengkapnya, lihat Menerapkan update konfigurasi selama perbaikan.
Jika Anda hanya perlu mengubah ukuran MIG, baca dokumentasi untuk mengetahui cara menambahkan atau menghapus VM di MIG. Jika Anda ingin mempelajari cara mengonfigurasi fitur MIG, lihat dokumen untuk autoscaling, autohealing, load balancing , dan workload stateful.
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.
- Otomatis (proaktif): Gunakan metode ini jika Anda ingin MIG menerapkan konfigurasi baru secara otomatis ke semua atau subset VM yang ada dalam grup. Tingkat gangguan pada VM yang berjalan bergantung pada kebijakan update yang Anda konfigurasikan. Anda dapat menggunakan metode ini untuk melakukan update canary pada template instance baru. Untuk menggunakan metode ini, setel jenis update MIG ke "proactive".
- Selektif (oportunistik): Gunakan metode ini jika Anda ingin menerapkan update secara manual, atau jika ingin mengupdate semua VM yang ada di grup sekaligus. Anda akan menargetkan setiap atau semua VM untuk diupdate ke konfigurasi terbaru. Untuk menggunakan metode ini, tetapkan jenis update MIG ke "opportunistic".
- Pembuatan ulang VM: Menerapkan konfigurasi baru dengan membuat ulang VM tertentu.
- Peluncuran update terjadi secara otomatis sesuai spesifikasi Anda, tanpa perlu input tambahan setelah permintaan awal. Anda dapat menentukan kecepatan deployment, tingkat gangguan pada layanan Anda, dan cakupan update.
- Anda dapat mengotomatiskan peluncuran parsial, yang memungkinkan pengujian canary.
- 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 instance.
Salah satu VM di MIG Anda tidak aktif dan perlu diperbaiki, tetapi Anda tidak ingin konfigurasinya berubah. Jika Anda menetapkan jenis update MIG ke oportunistik dan Anda tidak menerapkan update selama perbaikan secara paksa, Compute Engine akan memperbaiki VM menggunakan konfigurasi yang sama dengan yang digunakan sebelumnya untuk membuat VM tersebut, meskipun template instance aslinya sudah tidak ada lagi.
Anda memiliki MIG yang diskalakan otomatis dan ingin menerapkan update yang tidak begitu penting tanpa keadaan mendesak. Guna memastikan bahwa Compute Engine tidak merusak VM yang ada untuk menerapkan update, tetapkan jenis update MIG ke oportunistik. Saat melakukan penskalaan, autoscaler akan menghentikan VM dengan konfigurasi lama. Saat penyebaran skala, grup akan membuat VM dengan konfigurasi terbaru.
Di konsol Google Cloud, buka halaman Instance groups.
Pilih MIG yang ingin diperbarui.
Di bagian atas halaman, klik Update VM.
Guna menetapkan template yang berbeda untuk grup, di bagian New template, pilih template instance yang ingin Anda gunakan.
Di bagian Update configuration, pilih update otomatis atau selektif.
INSTANCE_GROUP_NAME
: nama grupNEW_TEMPLATE
: nama template baru untuk grupTYPE
: jenis update,opportunistic
atauproactive
PROJECT_ID
: project tempat MIG berada.REGION
: region tempat MIG Anda berada. Untuk MIG tingkat zona, gantiregions/REGION
denganzones/ZONE
.INSTANCE_GROUP_NAME
: nama grup.NEW_TEMPLATE
: nama template baru untuk grup.TYPE
: jenis update,OPPORTUNISTIC
atauPROACTIVE
.- Menerapkan update konfigurasi VM secara otomatis di MIG
- Menerapkan update konfigurasi VM secara selektif di MIG
- VM yang berjalan, ditangguhkan, dan dihentikan
- VM dengan status
SUSPENDING
atauSTOPPING
- Menghapus VM yang ditangguhkan dan dihentikan.
- Membuat VM baru dengan template instance baru.
- Melakukan proses inisialisasi.
- Menangguhkan atau menghentikan VM.
- Melanjutkan atau memulai VM.
- Melakukan update pada VM saat VM tersebut berjalan.
- Melakukan proses inisialisasi.
- Menangguhkan atau menghentikan VM.
- Dalam mode kebijakan standby
manual
, MIG hanya mengupdate VM yang berjalan berdasarkan jumlah atau persentase VM yang ingin Anda terapkan update. VM yang ditangguhkan dan dihentikan tetap ada di versi sebelumnya. - Dalam mode kebijakan standby
scale-out-pool
, Anda tidak dapat memulai update canary di MIG. Anda menetapkan kedua kolom ke nilai yang sama.
Ini adalah permintaan yang valid. Dalam kasus ini, hal ini tidak akan menimbulkan ambiguitas, dan template instance yang baru akan diterapkan ke MIG.
Misalnya, dalam permintaan berikut,
instanceTemplate
level teratas dan kolomversions
akan menentukan template instance yang sama yang berbeda dari template yang ada saat ini, sehingga MIG akan diperbarui ke template instance baru:{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Anda menetapkan kedua kolom ke nilai yang tidak cocok, tetapi hanya satu nilai yang berbeda dari template instance saat ini di MIG.
Ini adalah permintaan yang valid. Kolom yang berbeda dari setelan saat ini dianggap sebagai nilai yang diinginkan. Misalnya, Anda memanggil metode
update()
dan menyediakan kedua kolom, tetapi hanya satu kolom yang diperbarui:{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Anda menetapkan kedua kolom ke nilai yang tidak cocok, dan kedua nilai berbeda dari template instance saat ini di MIG.
Setelan ini tidak valid dan akan menampilkan error karena tidak ada intent yang jelas.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
- Pelajari lebih lanjut tentang cara meluncurkan template instance baru secara otomatis ke MIG.
- Pelajari lebih lanjut tentang cara mengupdate VM secara selektif di MIG.
- Lihat informasi tentang MIG Anda dan VM-nya.
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.
Komponen konfigurasi untuk VM di MIG
Anda mengonfigurasi VM di MIG melalui komponen berikut:
Komponen Properti Kasus penggunaan Template instance Jenis mesin, boot disk image, label, skrip startup, dan properti VM lainnya Wajib: Gunakan template instance untuk menentukan properti instance wajib dan opsional untuk semua VM dalam grup.
Opsional: Jika ingin melakukan pengujian canary konfigurasi VM kedua, Anda dapat menambahkan template instance kedua ke grup dan menerapkannya ke subset VM di grup.Konfigurasi semua instance Label dan metadata Opsional: Gunakan konfigurasi semua instance untuk mengganti properti template instance dengan cepat untuk semua VM dalam grup. Konfigurasi stateful Disk, alamat IP, dan metadata stateful Opsional: Jika Anda perlu mendukung workload stateful, tambahkan konfigurasi stateful ke VM dalam grup. Jika memperbarui konfigurasi apa pun untuk grup melalui komponen tersebut, Anda harus menerapkan konfigurasi terbaru ke VM yang ada dalam grup agar konfigurasi yang diperbarui efektif.
Metode untuk menerapkan konfigurasi baru ke VM yang ada
Setelah mengupdate konfigurasi VM MIG, Anda dapat menerapkan konfigurasi baru ke VM yang ada di grup menggunakan metode berikut:
Untuk mengetahui informasi selengkapnya tentang cara menetapkan jenis update MIG, lihat Menyiapkan update proaktif atau oportunistik.
Otomatis (proaktif)
Jenis update otomatis juga dikenal sebagai jenis update proaktif. Saat Anda menetapkan jenis update MIG ke proaktif, MIG akan otomatis menerapkan konfigurasi terbaru ke VM sesuai kebutuhan.
Menetapkan jenis update MIG sebagai proaktif menawarkan dua keuntungan utama:
Untuk mempelajari cara menetapkan jenis update MIG, lihat Menyiapkan update proaktif atau oportunistik.
Untuk mengetahui informasi selengkapnya tentang peluncuran otomatis, lihat Menerapkan update konfigurasi VM secara otomatis di MIG.
Selektif (oportunistik)
Jenis update selektif juga dikenal sebagai jenis update oportunistik. Jika Anda menetapkan jenis update MIG ke oportunistik, MIG akan menerapkan konfigurasi baru ke VM yang ada hanya saat Anda secara selektif menargetkan VM tertentu untuk diupdate.
Menetapkan jenis update MIG ke oportunistik menawarkan keuntungan berikut:
Dalam skenario tertentu, jenis update selektif berguna karena Anda tidak ingin menyebabkan ketidakstabilan pada sistem jika dapat dihindari. Misalnya, pertimbangkan hal berikut:
Untuk mempelajari cara menetapkan jenis update MIG, lihat Menyiapkan update proaktif atau oportunistik.
Untuk mengetahui informasi selengkapnya tentang mengupdate VM secara selektif, baca Menerapkan update konfigurasi VM secara selektif di MIG.
Pembuatan ulang VM
Anda dapat membuat ulang setiap VM di MIG. Jika Anda melakukannya, MIG akan menerapkan konfigurasi terbaru yang belum diterapkan ke VM tersebut. Untuk mengetahui informasi selengkapnya, lihat Membuat ulang VM di MIG.
Menyiapkan pembaruan proaktif atau oportunistik
Untuk menerapkan konfigurasi baru ke VM yang ada secara otomatis, tetapkan jenis update MIG ke "proactive". Untuk menerapkan konfigurasi baru ke VM yang ada hanya saat Anda memilih VM yang akan diupdate, tetapkan jenis update MIG ke "opportunistic".
Gunakan konsol Google Cloud, Google Cloud CLI, atau REST.
Konsol
gcloud
Gunakan perintah
rolling-action start-update
dan setel flag--type
keopportunistic
atauproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
Anda juga dapat menggunakan perintah
update
beta dan menyertakan flag--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Ganti kode berikut:
REST
Panggil metode
patch
pada resource miG tingkat zona atau regional.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Ganti kode berikut:
Untuk mempelajari lebih lanjut tentang cara menetapkan template baru dan menerapkan template tersebut ke VM baru dan yang sudah ada di MIG, lihat halaman berikut:
Periksa jenis kebijakan pembaruan grup Anda
Anda dapat melihat jenis kebijakan update MIG yang saat ini dikonfigurasi ("opportunistic" atau "proactive") dan setelan kebijakan update lainnya menggunakan gcloud CLI atau REST.
gcloud
Gunakan perintah
describe
dan sertakan flag--format
untuk hanya mencantumkan setelanupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
REST
Buat permintaan
GET
pada MIG tingkat zona atau regional, lalu centang kolomupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Untuk mengubah jenis kebijakan, lihat Menyiapkan update proaktif atau oportunistik.
Update untuk VM yang ditangguhkan dan dihentikan
Jika telah menangguhkan dan menghentikan kumpulan VM di MIG, Anda dapat mengupdate VM yang ditangguhkan atau dihentikan secara selektif (oportunistik) seperti mengupdate VM lain yang berjalan. Jika Anda mengonfigurasi update otomatis (proaktif), MIG akan mengupdate VM dalam urutan berikut:
Untuk update otomatis, MIG menghitung lonjakan maksimum dan maksimum tidak tersedia hanya berdasarkan target jumlah VM yang berjalan, dan tidak mempertimbangkan VM dalam kumpulan standby.
Jika update otomatis memerlukan penggantian VM dalam grup, MIG akan melakukan hal berikut:
Jika update otomatis hanya memerlukan pembaruan atau mulai ulang VM dalam grup, MIG akan melakukan hal berikut:
Update canary
Jika Anda ingin memulai update canary di MIG yang telah menangguhkan atau menghentikan VM, hal berikut berlaku:
Hubungan antara kolom
versions
daninstanceTemplate
Jika Anda menggunakan REST, sebaiknya gunakan kolom
instanceGroupManagers.versions
danregionInstanceGroupManagers.versions
guna mengonfigurasi template instance untuk MIG tingkat zona dan regional.Kolom
instanceTemplate
lama memiliki fungsi yang tumpang-tindih dengan kolomversions
karena kedua kolom tersebut memungkinkan Anda menentukan template instance yang digunakan oleh MIG untuk membuat VM. Namun, hanya kolomversions
yang memungkinkan Anda menentukan konfigurasi dua template (canary) lanjutan.Untuk kompatibilitas mundur, MIG tetap mendukung penetapan kolom
instanceTemplate
level teratas, meskipun sebaiknya Anda beralih ke hanya menggunakan kolomversions
. Menggunakan kolominstanceTemplate
level teratas dan kolomversions
secara bersamaan dapat menyebabkan ambiguitas dan kebingungan.Jika Anda menentukan kolom
instanceTemplate
dan kolomversions
saat memanggil metodeupdate()
ataupatch()
, ada tiga kemungkinan hasil:Kolom
versions
, kolominstanceTemplate
, dan metodeget()
Jika Anda hanya menentukan satu template instance, baik melalui kolom
instanceTemplate
level teratas maupun melalui kolomversions
atau melalui keduanya, metodeget()
akan menampilkan kedua kolom tersebut dalam responsnya. Hal ini membuat kolomversions
baru kompatibel dengan versi sebelumnya. Selama Anda menentukan satu template instance di salah satu kolom ini, tidak akan ada perubahan pada apa yang ditampilkan metodeget()
di kolominstanceTemplate
.Jika kolom
versions
memiliki dua template instance yang ditentukan, metodeget()
akan menampilkan kolominstanceTemplate
level teratas yang kosong. Tidak ada cara untuk mengekspresikan secara jelas konfigurasi template dua instance canary di kolominstanceTemplate
level teratas, sehingga kolom ini tidak digunakan selama update canary.Kolom
versions
dan metodesetInstanceTemplate()
Untuk kompatibilitas mundur, metode
setInstanceTemplate()
berperilaku seperti sebelumnya, sehingga Anda dapat mengubah template yang digunakan MIG untuk membuat VM. Saat Anda memanggil metode ini, kolomversions
akan diganti dengan template instance yang ditentukan oleh metodesetInstanceTemplate()
.Metode
setInstanceTemplate()
juga menetapkanupdatePolicy
keOPPORTUNISTIC
. Hal ini mencegah MIG men-deploy template instance secara aktif yang tidak ditentukan secara eksplisit di kolomversions
.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-11-27 UTC.
-