Grup instance terkelola stateful (MIG stateful) mempertahankan status unik setiap instance mesin virtual (VM)—termasuk nama VM, persistent disk yang terpasang, alamat IP, dan/atau metadata—saat mesin dimulai ulang, dibuat ulang, dipulihkan otomatis (autohealing), atau diperbarui.
Halaman ini menjelaskan cara kerja MIG stateful. Lihat Mengonfigurasi MIG stateful untuk mempelajari cara menyiapkan MIG stateful.
Ringkasan cara kerja MIG stateful
MIG dianggap stateful jika Anda telah membuat konfigurasi stateful.
Anda membuat konfigurasi stateful dengan menetapkan kebijakan stateful yang tidak kosong dan/atau satu atau beberapa konfigurasi per instance yang tidak kosong:
- Kebijakan stateful menentukan item yang ingin Anda pertahankan untuk semua instance di MIG Anda.
- Konfigurasi per instance menentukan item yang akan dipertahankan untuk instance VM tertentu.
Konfigurasi ini berlaku setelah Anda atau MIG menerapkannya:
- MIG otomatis menerapkan konfigurasi kebijakan stateful Anda ke instance baru dan yang sudah ada.
- Saat membuat atau memperbarui konfigurasi per instance, Anda dapat memilih apakah akan menerapkan konfigurasi baru secara manual atau secara otomatis.
Setelah konfigurasi stateful (kebijakan stateful dan/atau konfigurasi per instance) diterapkan, Anda dapat memverifikasinya dengan memeriksa status terpelihara setiap instance terkelola.
Perubahan berikutnya pada ukuran atau konfigurasi stateful MIG (misalnya mengurangi ukuran MIG, atau menghapus atau meninggalkan instance dari MIG) dapat memengaruhi status terpelihara instance yang terkait.
Cara konfigurasi stateful diterapkan ke instance terkelola
Konfigurasi stateful Anda berlaku setelah Anda atau MIG menerapkannya. Penerapan konfigurasi stateful ke instance MIG bergantung pada konfigurasi:
- Kebijakan stateful: MIG otomatis menerapkan konfigurasi kebijakan stateful Anda ke instance baru dan yang sudah ada.
- Konfigurasi per instance: Saat membuat atau memperbarui konfigurasi per instance, Anda dapat memilih apakah akan menerapkan konfigurasi baru secara manual atau otomatis.
Cara pembaruan kebijakan stateful diterapkan ke instance
Saat Anda membuat atau memperbarui kebijakan stateful, misalnya menambahkan atau menghapus disk stateful, MIG akan menerapkan konfigurasi kebijakan stateful Anda ke semua instance terkelola di dalam grup secara otomatis dan asinkron. MIG juga otomatis menerapkan konfigurasi kebijakan stateful Anda ke instance baru selama proses pembuatannya, misalnya, saat ukuran MIG meningkat atau saat Anda membuat instance di MIG secara manual.
Setelah konfigurasi diterapkan, Anda dapat melihat pengaruh pembaruan tersebut terhadap status terpelihara dari kebijakan di setiap instance terkelola.
Pembaruan kebijakan stateful tidak mengganggu VM yang sedang berjalan.
Saat Anda memperbarui kebijakan stateful untuk menambahkan disk stateful, MIG akan memperbarui resource setiap VM, dengan mengubah nilai flag autoDelete
disk (instances.disks[].autoDelete
):
- MIG menetapkan
autoDelete
keFALSE
untuk disk yang Anda konfigurasi sebagai stateful. Hal ini mencegah penghapusan disk tersebut saat instance dibuat ulang melalui autohealing, pembaruan, atau pembuatan ulang manual. - MIG menetapkan
autoDelete
agar cocok dengan konfigurasi template instance Anda (instanceTemplates.disks[].autoDelete
) untuk semua disk yang bersifat stateless.
Mengubah nilai flag autoDelete
tidak mengganggu VM yang sedang berjalan.
Cara pembaruan konfigurasi per instance diterapkan ke instance
Saat membuat atau memperbarui konfigurasi per instance, Anda dapat memilih apakah akan menerapkan konfigurasi baru secara manual atau otomatis. Untuk mengetahui informasi selengkapnya, lihat Menerapkan konfigurasi stateful dari konfigurasi per instance.
Tabel berikut menunjukkan tingkat gangguan yang diperlukan untuk menerapkan berbagai pembaruan konfigurasi per instance ke sebuah VM:
Pembaruan konfigurasi per instance | Gangguan pada VM yang diperlukan untuk menerapkan pembaruan |
---|---|
Mengonfigurasi disk, yang ditentukan oleh template instance, menjadi stateful (ditambahkan ke konfigurasi per instance) | REFRESH |
Mengonfigurasi disk, yang ditentukan oleh template instance, menjadi stateless (dihapus dari konfigurasi per instance) | REFRESH |
Menambahkan disk, yang tidak ditentukan oleh template instance, dan memasangnya ke VM | REFRESH |
Menghapus disk, yang tidak ditentukan oleh template instance, dan melepasnya dari VM | REFRESH |
Menambahkan key-value pair metadata | REFRESH |
Menghapus key-value pair metadata | REFRESH |
Menambahkan boot disk eksternal, yang tidak dibuat dari template instance, dan memasangnya ke VM | REPLACE |
Menghapus boot disk eksternal, yang tidak dibuat dari template instance, melepasnya dari VM, dan membuat boot disk dari template instance | REPLACE |
Menetapkan alamat IP internal | REPLACE |
Menghapus alamat IP internal | REPLACE |
Saat menerapkan konfigurasi per instance yang telah diperbarui ke VM terkaitnya, MIG akan melakukan tindakan berikut, bergantung pada item stateful mana yang diperbarui:
- Menambahkan (atau menghapus) disk, alamat IP, atau metadata ke status terpelihara dari konfigurasi di instance terkelola yang terkait.
- Memasang (atau melepas) disk yang tidak ditentukan oleh template instance ke VM.
- Menetapkan (atau menghapus) key-value pair metadata yang spesifik untuk VM.
- Menetapkan (atau menghapus) alamat IP yang ditentukan ke instance VM.
Setelah konfigurasi per instance diterapkan ke VM terkelola yang terkait, Anda dapat melihat pengaruh pembaruan ini terhadap status terpelihara dari konfigurasi di instance tersebut
Status terpelihara instance terkelola
Setelah konfigurasi diterapkan, MIG akan menerjemahkan template instance dan konfigurasi stateful ke dalam "status terpelihara" untuk setiap instance terkelola.
Anda dapat melihat status terpelihara dengan memeriksa instance terkelola.
MIG otomatis mempertahankan status terpelihara ini, dan secara otomatis serta asinkron menerapkan status ini ke setiap instance VM aktual yang sesuai di MIG.
Status terpelihara menjelaskan item individual mana (persistent disk, alamat IP, metadata) yang stateful untuk instance tertentu:
Status terpelihara yang dihasilkan berdasarkan kebijakan stateful disimpan terpisah dari status terpelihara yang dihasilkan berdasarkan konfigurasi per instance. MIG menggabungkan keduanya saat membuat ulang VM, dengan status terpelihara dari konfigurasi per instance akan diprioritaskan.
Status terpelihara sesuai dengan kebijakan stateful
Kebijakan stateful menentukan item, yang ada di semua instance dan ditentukan dalam template instance MIG, yang akan dipelihara secara individual untuk setiap instance VM di sebuah MIG.
Setelah konfigurasi diterapkan, MIG akan menerjemahkan kebijakan stateful ke dalam status terpelihara spesifik per instance (managedInstances[].preservedStateFromPolicy
). MIG mempertahankan status terpelihara ini secara otomatis.
Contoh berikut menunjukkan MIG dengan dua instance VM yang menggunakan sebuah disk stateful yang ditentukan dalam kebijakan stateful yang berlaku untuk setiap instance. Tidak ada konfigurasi per instance dalam contoh ini.
Gambar sebelumnya menunjukkan MIG dengan dua instance:
- Template instance menentukan boot disk dengan nama perangkat
boot-disk
dan disk dengan nama perangkatdata-disk
untuk semua instance dalam MIG. - Kebijakan stateful mendeklarasikan
data-disk
sebagai stateful. Boot disk tetap stateless. Perhatikan bahwa disk dengan nama perangkatdata-disk
harus ditentukan oleh template instance. - Setelah konfigurasi diterapkan, MIG akan menerjemahkan kebijakan stateful ke dalam status terpelihara spesifik per instance untuk setiap instance terkelola. Status terpelihara memberikan instruksi kepada MIG agar mempertahankan disk
data-disk-1
untuk instance VMnode-1
dan diskdata-disk-2
untuk instancenode-2
, karena kedua disk ini memiliki nama perangkatdata-disk
yang dikonfigurasi dalam kebijakan stateful. - Contoh ini tidak memiliki konfigurasi per instance.
Status terpelihara sesuai dengan konfigurasi per instance
Konfigurasi per instance menentukan item yang harus dipertahankan untuk VM tertentu. Item ini tidak harus ditentukan dalam template instance MIG.
Setelah konfigurasi diterapkan, MIG akan menerjemahkan setiap konfigurasi per instance ke dalam status terpelihara (preservedStateFromConfig
) untuk instance yang terkait.
Contoh berikut menunjukkan MIG dengan dua instance VM yang metadata dan disk stateful-nya ditentukan dalam konfigurasi per instance (PIC) untuk setiap instance. Tidak ada kebijakan stateful dalam contoh ini.
Dalam gambar sebelumnya:
- Template instance menentukan boot disk dengan nama perangkat
boot-disk
untuk semua instance di MIG. Boot disk bersifat stateless untuk semua VM di MIG. - Konfigurasi per instance menentukan status yang harus dipertahankan untuk dua instance di MIG:
node-1
dannode-2
.- Untuk instance
node-1
, konfigurasi per instance menentukan diskmy-legacy-1
dengan nama perangkatlegacy-disk
dan metadatanode-id:xyz273
. - Untuk instance
node-2
, konfigurasi per instance menentukan diskmy-logs-1
dengan nama perangkatlogs-disk
dan metadatanode-id:pqr851
.
- Untuk instance
- Setelah konfigurasi diterapkan, MIG akan otomatis menerjemahkan konfigurasi per instance menjadi status terpelihara untuk setiap instance terkelola. Status terpelihara menginstruksikan MIG untuk memasang dan mempertahankan berikut ini:
- Persistent disk
my-legacy-1
dan metadatanode-id:xyz273
untuk VMnode-1
- Persistent disk
my-logs-1
dan metadatanode-id:pqr851
untuk VMnode-2
- Persistent disk
- Contoh ini tidak memiliki kebijakan stateful.
Perhatikan bahwa, dalam contoh ini, disk dan metadata yang berstatus terpelihara dari konfigurasi per instance tidak ditentukan oleh template instance, melainkan oleh konfigurasi per instance saja. Hal ini karena konfigurasi yang ditentukan dalam konfigurasi per instance berlaku spesifik untuk VM tertentu, sehingga tidak harus ada di template instance.
Konfigurasi per instance lebih diprioritaskan daripada kebijakan stateful dan template instance
Anda dapat mengonfigurasi sebuah kebijakan stateful dan satu atau beberapa konfigurasi per instance di satu MIG. Misalnya, dalam kebijakan stateful, Anda dapat menentukan disk stateful yang ada di semua instance, dan dalam konfigurasi per instance, Anda dapat menentukan metadata spesifik per instance.
Konfigurasi per instance dalam instance terkelola lebih diprioritaskan daripada konfigurasi yang bertentangan dalam template instance atau kebijakan stateful.
Jika Anda menerapkan konfigurasi per instance untuk menambahkan disk atau antarmuka jaringan yang sudah ditentukan dalam kebijakan stateful, MIG akan menyimpan konfigurasi stateful untuk disk atau antarmuka jaringan tersebut dalam status terpelihara dari konfigurasi per instance (preservedStateFromConfig
) untuk instance terkelola itu dan menghapus entri yang bertentangan dari status terpeliharanya dari kebijakan (preservedStateFromPolicy). MIG harus me-refresh VM jika status terpelihara yang baru berbeda dengan status sebelumnya. Refresh ini dapat mengakibatkan perubahan metadata, perubahan alamat IP eksternal, atau pertukaran disk untuk melepas disk dari konfigurasi status terpelihara terakhirnya dan memasang disk yang ditentukan dalam konfigurasi status terpelihara yang baru.
Dalam contoh berikut, konfigurasi per instance untuk instance VM node-1
menentukan ulang:
- Status terpelihara disk dengan nama perangkat
logs-disk
, yang awalnya ditentukan dalam kebijakan stateful - Nilai kunci metadata
logmonth
, yang awalnya ditentukan dalam template instance.
Dalam gambar sebelumnya:
- Template instance menentukan:
- Tiga disk untuk semua instance di MIG, dengan nama perangkat
boot-disk
,data-disk
, danlogs-disk
. - Metadata yang umum untuk semua instance:
logmonth:jan
.
- Tiga disk untuk semua instance di MIG, dengan nama perangkat
- Kebijakan stateful yang mendeklarasikan bahwa disk dengan nama perangkat
data-disk
danlogs-disk
bersifat stateful; boot disk tetap stateless. - Konfigurasi per instance untuk instance
node-1
menentukan ulang:- Konfigurasi stateful untuk disk dengan nama perangkat
logs-disk
: Ini menginstruksikan MIG untuk memasang diskpd-logs-feb
kenode-1
di bagian nama perangkatlogs-disk
. - Metadata, yang ditentukan dalam template instance, dengan nilai kunci
logmonth:jan
: Ini menginstruksikan MIG untuk menetapkan nilailogmonth:feb
kenode-1
.
- Konfigurasi stateful untuk disk dengan nama perangkat
- Setelah Anda menerapkan konfigurasi, MIG akan otomatis menerjemahkan kebijakan stateful dan konfigurasi per instance ke dalam status terpelihara spesifik per instance, yang disimpan di instance terkelola.
- Status terpelihara dari kebijakan menginstruksikan agar MIG mempertahankan disk
data-disk-1
untuk VMnode-1
. Perhatikan bahwa status terpelihara dari kebijakan tidak mencakup konfigurasi stateful untuk disk dengan nama perangkatlogs-disk
karena konfigurasi ini diabaikan oleh konfigurasi untuklogs-disk
dalam konfigurasi per instance. - Status terpelihara dari konfigurasi menginstruksikan agar MIG memasang dan mempertahankan persistent disk
logs-disk
serta menetapkan dan mempertahankan metadatalogmonth:feb
untuk VM instancenode-1
. Perhatikan bahwa status terpelihara dari konfigurasi akan mengabaikan konfigurasi untuklogs-disk
dari kebijakan stateful dan mengabaikan metadatalogmonth:jan
dari template instance.
- Status terpelihara dari kebijakan menginstruksikan agar MIG mempertahankan disk
Dampak penghapusan resource dari kebijakan stateful terhadap status terpelihara
Jika Anda menghapus konfigurasi resource dari kebijakan stateful, MIG akan otomatis menghapus preservedStateFromPolicy
yang terkait untuk semua instance terkelola. Resource komputasi tetap terpasang ke instance, tetapi tidak lagi stateful.
Dalam contoh berikut, menghapus disk dari kebijakan stateful akan menyebabkan disk tersebut dihapus dari status terpelihara dari kebijakan di semua VM terkelola. Disk tersebut tetap terpasang ke VM-nya, tetapi tidak lagi stateful dan mungkin dihapus dan dibuat ulang pada pembuatan ulang VM berikutnya.
Jika item yang sama, misalnya, persistent disk stateful, ada baik di kebijakan stateful maupun di konfigurasi per instance, dan Anda menghapus konfigurasi stateful-nya dari kebijakan stateful saja, MIG tidak akan menghapusnya dari konfigurasi per instance. Untuk VM yang terkait, resource yang dikonfigurasi akan tetap stateful.
Dalam contoh berikut, menghapus disk dari kebijakan stateful tidak mengakibatkan terhapusnya disk itu dari konfigurasi per instance. Disk tetap stateful karena masih menjadi bagian dari status terpelihara dari konfigurasi.
Dampak penghapusan item dari konfigurasi per instance terhadap status terpelihara
Jika Anda menghapus konfigurasi stateful dari konfigurasi per instance, lalu menerapkan perubahan tersebut, MIG akan otomatis menghapus konfigurasi stateful dari status terpelihara dari konfigurasi (preservedStateFromConfig
) di instance terkelola yang terkait. Resource komputasi yang tidak lagi menjadi bagian dari status terpelihara akan menjadi stateless.
Dampak penghapusan konfigurasi disk stateful dari konfigurasi per instance terhadap status terpelihara
Jika Anda menghapus disk stateful dari konfigurasi per instance, lalu menerapkan perubahan itu ke instance VM yang terkait, MIG akan melakukan hal berikut:
- Konfigurasi disk dihapus dari status terpelihara dari konfigurasi di instance tersebut.
- Jika disk dengan nama perangkat yang sama ditentukan dalam template instance, tetapi tidak dikonfigurasi di kebijakan stateful, disk akan tetap terpasang ke VM yang ditentukan. Namun, disk akan menjadi stateless untuk VM yang ditentukan dan mungkin akan dibuat ulang sesuai dengan konfigurasi template instance pada peristiwa pembuatan ulang, autohealing, atau pembaruan VM berikutnya.
- Jika disk dengan nama perangkat yang sama tidak ditentukan dalam template instance, disk akan otomatis dilepas dari VM begitu konfigurasi per-instance yang telah diperbarui diterapkan ke VM terkait, terlepas dari konfigurasi hapus otomatisnya.
- Jika disk dengan nama perangkat yang sama dikonfigurasi dalam kebijakan stateful, konfigurasi kebijakan stateful-nya akan diterjemahkan ke dalam status terpelihara dari kebijakan untuk instance terkelola yang ditentukan, dan disk tetap stateful.
Dalam contoh berikut, penghapusan disk biru dan hijau dari konfigurasi per instance node-1
akan mengakibatkan dihapusnya kedua disk dari status terpelihara dari konfigurasi di instance terkelola node-1
.
- Disk biru tetap terpasang ke instance VM
node-1
, tetapi sekarang menjadi stateless dan dapat dibuat ulang pada pembuatan ulang VM berikutnya sesuai dengan konfigurasi template instance. - Disk hijau dilepas dari instance VM
node-1
karena template instance tidak menentukan disk dengan nama perangkat yang sama.
Dampak penghapusan metadata stateful dari konfigurasi per instance terhadap status terpelihara
Menghapus metadata stateful dari konfigurasi per instance dan menerapkan perubahan itu akan menyebabkan MIG segera menghapus metadata stateful tersebut dari status terpelihara di instance terkelola yang terkait:
- Jika Anda menentukan metadata dengan kunci yang sama dalam template instance, MIG akan segera menerapkan nilai dari template instance ke instance tersebut.
- Jika metadata dengan kunci yang sama tidak ditentukan dalam template instance, MIG akan segera menghapus nilai kunci dari instance.
Dalam contoh berikut, penghapusan metadata mode:dev
dan id:xyz273
dari konfigurasi per instance node-1
akan otomatis menghapus kedua key-value pair itu dari status terpelihara dari konfigurasi di instance terkelola node-1
.
mode:dev
diganti denganmode:test
template instance di VM.id:xyz273
segera dihapus dari VM karena template instance tidak memiliki metadata denganid
kunci yang sama untuk menggantikannya.
Dampak penghapusan konfigurasi IP stateful dari konfigurasi per instance terhadap status terpelihara
Menghapus konfigurasi IP internal dari konfigurasi per instance akan membuat alamat IP untuk VM ini menjadi stateless. Tidak ada perubahan otomatis yang dijalankan pada VM ini, tetapi alamat IP dapat berubah setelah VM dibuat ulang, diperbarui, atau dipulihkan secara otomatis.
Fallback ke kebijakan stateful
Jika Anda menghapus konfigurasi stateful untuk sebuah resource dari konfigurasi per instance, dan Anda mengonfigurasi resource yang sama dalam kebijakan stateful, resource tersebut akan tetap stateful sesuai dengan kebijakan stateful.
MIG akan otomatis menghapus konfigurasi stateful item tersebut dari preservedStateFromConfig
dan menambahkannya ke preservedStateFromPolicy
untuk instance terkelola yang terkait.
Dalam contoh berikut, menghapus disk dari konfigurasi per instance node-1
tidak mengakibatkan dihapusnya disk itu dari kebijakan stateful. Disk tetap stateful sesuai dengan kebijakan stateful:
- MIG akan otomatis menghapus disk dari
preserveStateFromConfig
untuk instance terkelolanode-1
karena disk ini tidak lagi menjadi bagian dari konfigurasi per instance-nya. - MIG akan otomatis menambahkan disk ke
preserveStateFromPolicy
untuk instance terkelolanode-1
karena konfigurasi kebijakan stateful masih ada dan tidak lagi bertentangan dengan konfigurasi per instancenode-1
.
Masukan
Kami ingin mempelajari kasus penggunaan, tantangan, dan masukan Anda tentang MIG stateful. Berikan masukan Anda kepada tim kami di mig-discuss@google.com.
Langkah selanjutnya
- Pelajari pengaruh berbagai konfigurasi dan tindakan MIG terhadap status yang dipertahankan.
- Untuk informasi tentang cara mendukung workload stateful dengan mempertahankan nama instance, persistent disk, dan metadata di instance terkelola, lihat Mengonfigurasi MIG stateful.
- Pelajari lebih lanjut kapan penggunaan MIG stateful disarankan.
- Pelajari cara Memigrasikan workload yang ada ke MIG stateful.
- Pelajari MIG lebih lanjut.
- Tangani instance terkelola.