Jika menggunakan grup instance terkelola (MIG) regional, Anda dapat menetapkan bentuk distribusi target MIG tersebut ke salah satu opsi berikut:
- MERATA (default): grup membuat dan menghapus VM untuk
mencapai dan mempertahankan jumlah VM yang sama di seluruh zona
yang dipilih. Dalam distribusi
EVEN
, selisih jumlah VM di antara dua zona tidak lebih dari 1. Direkomendasikan untuk workload penyaluran yang sangat tersedia. - BALANCED: grup memprioritaskan pembuatan VM di zona tempat resource tersedia, sambil mendistribusikan VM semerata mungkin ke seluruh zona yang dipilih untuk meminimalkan dampak kegagalan tingkat zona. Direkomendasikan untuk workload penyaluran atau batch yang sangat tersedia.
- APA SAJA: grup memilih zona untuk membuat instance VM guna memenuhi jumlah VM yang diminta dalam batasan resource yang ada dan untuk memaksimalkan pemanfaatan pemesanan zona yang tidak digunakan. Direkomendasikan untuk workload batch yang tidak memerlukan ketersediaan tinggi.
- ANY SINGLE ZONE: grup membuat semua instance VM dalam satu zona. Zona ini dipilih berdasarkan dukungan hardware, ketersediaan resource dan kuota saat ini, serta pemesanan yang cocok. Direkomendasikan bersama dengan kebijakan penempatan instance yang rapat untuk workload yang memerlukan komunikasi ekstensif antar-VM.
Untuk menggunakan VM yang dipesan dalam grup instance terkelola regional, buat pemesanan yang identik dengan nama yang sama di setiap zona yang berlaku. Kemudian, targetkan pemesanan tersebut berdasarkan nama di template instance grup.
Untuk membantu Anda memilih bentuk, lihat tabel perbandingan, kasus penggunaan, dan cara kerja bentuk distribusi.
Tetapkan bentuk distribusi target saat membuat MIG regional atau memperbarui bentuk target MIG regional yang sudah ada.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Authentication adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses layanan dan API Google Cloud.
Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat mengautentikasi 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.
Terraform
Untuk menggunakan contoh Terraform di halaman ini dari lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat kredensial autentikasi lokal untuk Akun Google Anda:
gcloud auth application-default login
Untuk informasi selengkapnya, lihat Siapkan autentikasi untuk lingkungan pengembangan lokal.
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
-
Batasan
- Anda hanya dapat memilih zona untuk MIG saat membuat MIG.
Jika Anda menentukan resource di template instance MIG atau konfigurasi stateful yang tidak tersedia di semua zona yang dipilih, batasan berikut akan berlaku:
- Anda harus menetapkan
bentuk distribusi target
ke
BALANCED
,ANY
, atauANY_SINGLE_ZONE
. - Anda harus memastikan bahwa setiap resource yang diperlukan oleh MIG–misalnya, disk, jenis mesin, atau GPU yang sudah ada–tersedia setidaknya di salah satu zona yang dipilih.
- Jika Anda ingin memperbarui konfigurasi MIG (misalnya, template) ke konfigurasi yang tidak dapat dibuat instance-nya di semua kolom yang dipilih zona, Anda harus menghapus instance terkelola dari semua zona yang tidak didukung sebelum menetapkan konfigurasi baru.
- Anda harus menetapkan
bentuk distribusi target
ke
Untuk menetapkan bentuk distribusi target ke
BALANCED
atauANY_SINGLE_ZONE
, Anda harus menonaktifkan redistribusi instance proaktif.- Jika ingin melakukan penskalaan otomatis MIG regional, Anda harus menyetel
bentuk distribusi target ke
BALANCED
(Pratinjau) atauEVEN
. Jika Anda menetapkan bentuk distribusi target ke
BALANCED
,ANY
, atauANY_SINGLE_ZONE
, batasan berikut akan berlaku:- Update Canary dengan dua versi tidak didukung.
- Jika resource yang diminta memiliki ketersediaan terbatas di seluruh region, grup mungkin menjadwalkan pembuatan instance VM di zona tempat resource tersebut sudah tidak tersedia. Anda dapat mencoba mengurangi dan meningkatkan ukuran grup untuk mendapatkan resource yang diminta di zona lain.
- Update berkelanjutan yang menggunakan
metode penggantian
SUBSTITUTE
akan mencoba membuat instance baru yang diperbarui di zona yang sama dengan mesin yang sudah tidak berlaku, meskipun zona tersebut tidak memiliki resource untuk mengakomodasi persyaratan versi baru. Untuk memediasi perilaku ini, Anda dapat menghapus VM yang sudah tidak berlaku dari zona terbatas, lalu meningkatkan ukuran grup dengan jumlah VM yang dihapus. Grup akan membuat instance dari template terbaru di zona tempat kapasitas tersedia. - Jika Anda ingin memperbarui template instance grup menjadi template yang menentukan resource yang tidak tersedia di semua zona yang dipilih, Anda harus menghapus instance terkelola dari zona yang tidak didukung sebelum menetapkan template baru.
Jika Anda menetapkan bentuk distribusi target ke
ANY_SINGLE_ZONE
dan grup sudah memiliki VM dalam satu zona, Anda dapat membuat VM tambahan hanya di zona tersebut. Jika ingin menggunakan zona lain, Anda harus terlebih dahulu menskalakan grup hingga nol VM.Jika perlu menyediakan grup sole-tenant VM, Anda harus menetapkan bentuk distribusi target MIG ke
EVEN
. Buat grup node Anda di zona yang sama dengan zona MIG dan tetapkan afinitas node MIG di template instance MIG.
Membuat grup dengan bentuk distribusi target
Untuk membuat grup Anda, pilih zonanya, dan atur bentuk distribusi targetnya, menggunakan Konsol Google Cloud , gcloud CLI, Terraform, atau REST.
Konsol
- Di konsol Google Cloud, buka halaman Instance groups.
- Klik Buat grup instance untuk membuat grup instance baru.
- Pilih salah satu Opsi grup instance terkelola baru: stateless (default) atau stateful.
- Tetapkan nama dan jika perlu, deskripsi untuk grup instance Anda.
- Pilih template instance untuk grup instance atau buat yang baru.
- Tentukan jumlah VM untuk grup ini. Untuk workload yang sangat tersedia, ingatlah untuk menyediakan VM yang cukup untuk mendukung aplikasi Anda jika terjadi kegagalan zona.
- Di bagian Lokasi, pilih Beberapa zona.
Pilih region, lalu pilih zona yang ingin Anda gunakan.
- Jika Anda ingin MIG dapat menggunakan semua zona di region, pilih semua zona yang tersedia.
- Perlu diperhatikan bahwa Anda tidak dapat memperbarui MIG regional untuk menggunakan zona berbeda setelah dibuat.
Pilih bentuk distribusi target.
- Jika Anda ingin memilih Apa saja atau Zona tunggal apa pun, di bagian Penskalaan otomatis, klik Mode penskalaan otomatis dan pilih Hapus konfigurasi penskalaan otomatis.
- Jika Anda ingin memilih Satu zona atau Menyeimbangkan, di Bagian Instance redistribution, jangan pilih Izinkan redistribusi instance.
Lanjutkan dengan proses pembuatan MIG lainnya.
gcloud
Gunakan
perintah gcloud compute instance-groups managed create
dan sertakan flag --target-distribution-shape
.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape SHAPE
Ganti kode berikut:
INSTANCE_GROUP_NAME
: nama instance ras.TEMPLATE
: nama template instance yang akan digunakan untuk grup.SIZE
: ukuran target grup instance.REGION
: region tempat Anda menginginkan grup.ZONES
(opsional): daftar zona di region tempat Anda ingin men-deploy instance VM. Secara default, Compute Engine memilih tiga zona untuk Anda.Jika Anda ingin MIG dapat menggunakan semua zona di region ini, menentukan semua zona yang tersedia. Anda bisa mendapatkan daftar zona di region dengan perintah berikut:
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'Perhatikan bahwa Anda tidak dapat memperbarui MIG regional untuk menggunakan zona yang berbeda setelah dibuat.
SHAPE
: bentuk distribusi target. Ini dapat berupa salah satu dari nilai berikut ini:even
(default): grup membuat dan menghapus VM untuk mencapai dan mempertahankan jumlah VM yang sama di seluruh zona yang dipilih. Dalam distribusiEVEN
, jumlah VM di antara dua zona tidak berbeda lebih dari 1. Direkomendasikan untuk workload penyajian yang sangat tersedia.balanced
: grup memprioritaskan pembuatan VM di zona tempat resource tersedia, sambil mendistribusikan VM semerata mungkin di seluruh zona yang dipilih untuk meminimalkan dampak kegagalan zona. Direkomendasikan untuk workload penyajian atau batch yang sangat tersedia.any
: grup memilih zona untuk membuat instance VM guna memenuhi jumlah VM yang diminta dalam batasan resource yang ada dan untuk memaksimalkan pemanfaatan pemesanan zona yang tidak digunakan. Direkomendasikan untuk workload batch yang tidak memerlukan ketersediaan tinggi.any-single-zone
: grup membuat semua instance VM dalam satu zona. Zona ini dipilih berdasarkan dukungan hardware, ketersediaan resource dan kuota saat ini, serta pemesanan yang cocok. Direkomendasikan bersama dengan kebijakan penempatan instance yang rapat untuk workload yang memerlukan komunikasi ekstensif antar-VM.
Misalnya, untuk membuat MIG regional dengan target yang seimbang
bentuk distribusi, tetapkan flag --target-distribution-shape
ke
balanced
.
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --target-distribution-shape balanced \ --instance-redistribution-type none
Terraform
Jika Anda belum membuat template instance, yang menentukan jenis mesin, boot disk image, jaringan, dan properti VM lainnya yang Anda inginkan untuk setiap VM di MIG Anda, buat template instance.
Untuk membuat MIG regional, gunakan google_compute_region_instance_group_manager
resource.
Contoh berikut membuat MIG regional dengan target BALANCED
bentuk distribusi.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST
Panggil
metode regionInstanceGroupManagers.insert
.
Dalam isi permintaan, sertakan properti distributionPolicy
, dan tetapkan kolom
targetShape
-nya.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": INSTANCE_GROUP_NAME, "instanceTemplate": "global/instanceTemplates/TEMPLATE", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "SHAPE" } }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.REGION
: region untuk grup instance.INSTANCE_GROUP_NAME
: nama instance ras.TEMPLATE
: nama template instance yang akan digunakan untuk grup instance.SIZE
: ukuran target grup instance.ZONE
: nama zona di region tempat Anda ingin men-deploy instance VM.- Jika Anda ingin MIG dapat
menggunakan semua zona di region ini,
menentukan semua zona yang tersedia. Anda bisa mendapatkan daftar zona di region
dengan memanggil
metode
regions.get
. - Perhatikan bahwa Anda tidak dapat memperbarui MIG regional untuk menggunakan zona yang berbeda setelah dibuat.
- Jika Anda ingin MIG dapat
menggunakan semua zona di region ini,
menentukan semua zona yang tersedia. Anda bisa mendapatkan daftar zona di region
dengan memanggil
metode
SHAPE
: bentuk distribusi target. Dapat berupa salah satu nilai berikut:EVEN
(default): grup membuat dan menghapus VM untuk mencapai dan mempertahankan jumlah VM yang sama di seluruh zona yang dipilih. Dalam distribusiEVEN
, jumlah VM di antara dua zona tidak berbeda lebih dari 1. Direkomendasikan untuk workload penyajian yang sangat tersedia.BALANCED
: grup memprioritaskan pembuatan VM di zona tempat resource tersedia, sambil mendistribusikan VM semerata mungkin di seluruh zona yang dipilih untuk meminimalkan dampak kegagalan zona. Direkomendasikan untuk workload penyajian atau batch yang sangat tersedia.ANY
: grup memilih zona untuk membuat instance VM guna memenuhi jumlah VM yang diminta dalam batasan resource yang ada dan untuk memaksimalkan pemanfaatan pemesanan zona yang tidak digunakan. Direkomendasikan untuk workload batch yang tidak memerlukan ketersediaan tinggi.ANY_SINGLE_ZONE
: grup membuat semua instance VM dalam satu zona. Zona ini dipilih berdasarkan dukungan hardware, ketersediaan resource dan kuota saat ini, serta pemesanan yang cocok. Direkomendasikan bersama dengan kebijakan penempatan instance yang rapat untuk workload yang memerlukan komunikasi ekstensif antar-VM.
Mengubah bentuk distribusi target dari grup yang sudah ada
Anda dapat mengubah bentuk distribusi target di MIG regional yang sudah ada, tetapi dengan batasan berikut:
- Jika Anda ingin mengubah bentuk distribusi target menjadi
BALANCED
atauANY_SINGLE_ZONE
, Anda harus terlebih dahulu nonaktifkan distribusi ulang proaktif. - Jika Anda ingin mengubah bentuk distribusi target menjadi
EVEN
dan jika distribusi instance saat ini tidak merata, Anda harus menonaktifkan redistribusi proaktif terlebih dahulu. - Jika Anda mengubah bentuk menjadi
EVEN
dan ingin mengaktifkan kembali redistribusi proaktif, Anda harus terlebih dahulu menyeimbangkan kembali grup secara manual. - Jika Anda ingin mengubah bentuk distribusi target menjadi
EVEN
, tetapi template instance menentukan resource yang tidak didukung di semua zona yang dipilih, Anda harus terlebih dahulu memperbarui template instance grup ke template yang didukung di semua zona yang dipilih.
Konsol
- Di konsol Google Cloud, buka halaman Instance groups.
- Di kolom Nama pada daftar, klik nama grup instance tempat Anda ingin mengubah bentuk distribusi target.
- Klik Edit untuk mengubah grup instance terkelola ini.
- Pada Bentuk distribusi target, tentukan bentuk yang Anda inginkan.
- Klik Simpan untuk menerapkan template baru.
gcloud
Gunakan
perintah gcloud compute instance-groups managed update
dan sertakan flag --target-distribution-shape
.
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --target-distribution-shape SHAPE
Ganti kode berikut:
INSTANCE_GROUP_NAME
: nama instance ras.SHAPE
: bentuk distribusi target. Dapat berupa salah satu nilai berikut:even
(default): grup membuat dan menghapus VM untuk mencapai dan mempertahankan jumlah VM yang sama di seluruh zona yang dipilih. Dalam distribusiEVEN
, jumlah VM di antara dua zona tidak berbeda lebih dari 1. Direkomendasikan untuk workload penyajian yang sangat tersedia.balanced
: grup memprioritaskan pembuatan VM di zona tempat resource tersedia, sambil mendistribusikan VM semerata mungkin di seluruh zona yang dipilih untuk meminimalkan dampak kegagalan zona. Direkomendasikan untuk workload penyajian atau batch yang sangat tersedia.any
: grup memilih zona untuk membuat instance VM guna memenuhi jumlah VM yang diminta dalam batasan resource yang ada dan untuk memaksimalkan pemanfaatan pemesanan zona yang tidak digunakan. Direkomendasikan untuk workload batch yang tidak memerlukan ketersediaan tinggi.any-single-zone
: grup membuat semua instance VM dalam satu zona. Zona ini dipilih berdasarkan dukungan hardware, ketersediaan resource dan kuota saat ini, serta pemesanan yang cocok. Direkomendasikan bersama dengan kebijakan penempatan instance yang rapat untuk workload yang memerlukan komunikasi ekstensif antar-VM.
REST
Panggil metode regionInstanceGroupManagers.patch
.
Dalam isi permintaan, sertakan
properti distributionPolicy
, dan tetapkan kolom targetShape
-nya.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "distributionPolicy": { "targetShape": "SHAPE" } }
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan ini.REGION
: region untuk grup instance.INSTANCE_GROUP_NAME
: nama grup instance.SHAPE
: bentuk distribusi target. Dapat berupa salah satu nilai berikut:EVEN
(default): grup membuat dan menghapus VM untuk mencapai dan mempertahankan jumlah VM yang sama di seluruh zona yang dipilih. Dalam distribusiEVEN
, jumlah VM di antara dua zona tidak berbeda lebih dari 1. Direkomendasikan untuk workload penyajian yang sangat tersedia.BALANCED
: grup memprioritaskan pembuatan VM di zona tempat resource tersedia, sambil mendistribusikan VM semerata mungkin di seluruh zona yang dipilih untuk meminimalkan dampak kegagalan zona. Direkomendasikan untuk workload penyajian atau batch yang sangat tersedia.ANY
: grup memilih zona untuk membuat instance VM guna memenuhi jumlah VM yang diminta dalam batasan resource yang ada dan untuk memaksimalkan pemanfaatan pemesanan zona yang tidak digunakan. Direkomendasikan untuk workload batch yang tidak memerlukan ketersediaan tinggi.ANY_SINGLE_ZONE
: grup membuat semua instance VM dalam satu zona. Zona ini dipilih berdasarkan dukungan hardware, ketersediaan resource dan kuota saat ini, serta pemesanan yang cocok. Direkomendasikan bersama dengan kebijakan penempatan instance yang rapat untuk workload yang memerlukan komunikasi ekstensif antar-VM.
Melihat kebijakan distribusi instance yang dikonfigurasi
Konsol
- Di konsol Google Cloud, buka halaman Instance groups. Jika Anda sudah memiliki grup instance, halaman akan mencantumkan grup tersebut.
- Klik nama grup instance yang ingin Anda periksa. Halaman akan terbuka dengan properti grup instance dan daftar instance yang disertakan dalam grup tersebut.
- Klik Details.
- Di bagian Lokasi, cari Bentuk distribusi target.
gcloud
Jalankan
perintah gcloud compute instance-groups managed describe
.
gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \ --region REGION
Perintah ini akan menampilkan detail grup, termasuk
kolom distributionPolicy.targetShape
:
... distributionPolicy: targetShape: BALANCED zones: - zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f ... name: my-group region: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1 ...
REST
Buat permintaan GET
ke
metode regionInstanceGroupManagers.get
.
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Ganti kode berikut:
PROJECT_ID
: project ID untuk permintaan iniREGION
: region untuk grup instanceINSTANCE_GROUP_NAME
: nama grup instance
Bentuk distribusi target ditampilkan dalam
kolom distributionPolicy.targetShape
. Contoh:
{ "name": "my-instance-group", "distributionPolicy": { "targetShape": "BALANCED", }, "targetSize": 50, ... }
Langkah berikutnya
- Pelajari lebih lanjut cara Melihat info tentang MIG dan VM-nya.
- Pelajari cara Menggunakan VM di MIG, termasuk menambahkan, membuat ulang, dan menghapus VM, serta memperbarui konfigurasi VM.