Leggi le sezioni seguenti per scoprire in che modo varie configurazioni, azioni di gruppi di istanze gestite (MIG) o eventi del ciclo di vita delle istanze influiscono sullo stato conservato di un'istanza gestita in un MIG stateful:
- Riparazione automatica
- Aggiornamento delle istanze
- Ridimensionamento dei gruppi
- Eliminazione di un'istanza
- Abbandono di un'istanza
- Gruppi a livello di regione
In che modo la riparazione automatica gestisce lo stato conservato
Quando un'istanza di una macchina virtuale (VM) smette di funzionare o diventa non funzionante, la riparazione automatica ricrea la VM e mantiene lo stato conservato per gli elementi che hai configurato:
- Il MIG conserva i dischi e gli indirizzi IP stateful e li ricollega al momento della nuova creazione della VM.
- Il MIG conserva i metadati stateful, configurati nelle configurazioni per istanza e li imposta al momento della ricreazione della VM.
Per evitare errori di ricreazione delle istanze VM a causa di un disco di avvio stateful danneggiato, mantieni il disco di avvio stateless in modo che la riparazione automatica possa ricrearlo da zero utilizzando l'immagine originale.
In che modo le istanze di aggiornamento gestiscono lo stato conservato
Quando aggiorni un'istanza, il MIG mantiene lo stato conservato dell'istanza (dischi, indirizzi IP, metadati):
- Il MIG conserva i dischi e gli indirizzi IP stateful e li ricollega se l'istanza VM viene ricreata o riavviata durante l'aggiornamento.
- Il MIG conserva i metadati stateful, configurati in una configurazione per istanza e li imposta sull'istanza durante l'aggiornamento.
Quando imposti un nuovo modello di istanza, devi definire tutti i dischi specificati nella policy stateful. Non è consentito impostare un nuovo modello di istanza che omette un disco definito in una policy stateful. In questo modo si evita l'eliminazione accidentale dei dischi stateful.
Per rimuovere i dischi stateful da un MIG quando questi dischi sono definiti in una policy stateful, segui la procedura riportata di seguito:
- Rimuovi la configurazione del disco dalla policy stateful.
- (Facoltativo) Scollega i dischi dalle istanze VM se vuoi comunque conservarli.
- Implementa un nuovo modello di istanza che non definisce più i dischi.
Non puoi aggiornare i dischi stateful a una nuova immagine perché questi dischi devono essere conservati durante l'aggiornamento e l'aggiornamento a una nuova immagine richiede la ricreazione di un disco.
Google consiglia di mantenere i dischi di avvio e tutti i dischi con file binari o temporanei stateless, mantenendo i dati su dischi stateful. Questa configurazione supporta il seguente comportamento:
- Puoi aggiornare facilmente e automaticamente il disco di avvio e i dischi con file binari a immagini più recenti contenenti nuove versioni e patch di sicurezza. Puoi utilizzare l'aggiornamento automatico oppure aggiornare manualmente le istanze per ricreare questi dischi stateless, mantenendo invariati i dati su dischi stateful distinti.
- Puoi conservare i dati sui dischi stateful durante l'implementazione di altri aggiornamenti nelle tue istanze.
Puoi configurare un disco di avvio come stateful, ad esempio per ospitare un'applicazione legacy che conserva file binari e i dati sullo stesso disco. In questo modo, puoi spostare un'applicazione in un MIG per usufruire della riparazione automatica. Tuttavia, in questo scenario, devi eseguire autonomamente gli aggiornamenti del software e del sistema operativo, ad esempio aggiornando i singoli pacchetti utilizzando un gestore di pacchetti come apt sui sistemi Debian o utilizzando strumenti di gestione delle configurazioni.
Se hai configurato solo nomi di istanze personalizzate e non hai configurato dischi o metadati
stateful, puoi utilizzare gli aggiornamenti in sequenza automatici. Per gli aggiornamenti
in sequenza automatici, devi impostare la policy di sostituzione di Updater su RECREATE
.
Non puoi utilizzare il metodo di sostituzione SUBSTITUTE
per le istanze con aggiornamento automatico
nei gruppi di istanze gestite stateful perché questo metodo sostituisce ogni VM esistente con una nuova
VM con un nome diverso e uno stato conservato.
In che modo il ridimensionamento del gruppo influisce sullo stato conservato
Diminuzione delle dimensioni del gruppo
Google sconsiglia di diminuire le dimensioni di un MIG stateful perché il MIG sceglie le istanze VM da eliminare e potrebbe scegliere le VM che devi conservare. Puoi rimuovere le istanze VM di MIG in modo controllato eliminando istanze specifiche di cui non hai più bisogno.
Se riduci le dimensioni del MIG, quest'ultimo elimina tutte le istanze VM aggiuntive, insieme ai relativi stati conservati associati. Per evitare questo problema, puoi configurare il MIG in modo da scollegare e conservare i dischi e gli indirizzi IP stateful durante l'eliminazione permanente delle istanze VM. I metadati stateful vengono eliminati insieme allo stato conservato. Per ulteriori informazioni, consulta in che modo l'eliminazione di un'istanza influisce sullo stato conservato.
Aumento delle dimensioni del gruppo
Quando aumenti le dimensioni di un MIG stateful, il gruppo crea VM dal
modello di istanza corrente con nomi generati automaticamente
(nome dell'istanza di base
+ suffisso). Puoi visualizzare la configurazione stateful applicata in preservedStateFromPolicy
dell'istanza gestita corrispondente. Dopo che il servizio MIG ha creato le
istanze, puoi definire metadati stateful e dischi o indirizzi IP stateful aggiuntivi nelle configurazioni per istanze per queste istanze.
Puoi scegliere nomi di istanze personalizzati e aumentare le dimensioni del gruppo creando le istanze manualmente, con la possibilità di avviare il loro stato fornendo configurazioni per istanza con metadati, indirizzi IP e dischi stateful per ogni istanza.
In che modo l'eliminazione di un'istanza influisce sullo stato conservato
Una VM in un MIG viene eliminata definitivamente quando:
- Riduci le dimensioni del gruppo e il MIG sceglie questa istanza VM per l'eliminazione oppure
- Elimini l'intero gruppo oppure
- In particolare, elimini l'istanza dal gruppo MIG.
Quando una VM viene eliminata definitivamente, il MIG elimina anche la configurazione per istanza e l'istanza gestita corrispondente, inclusa la configurazione dello stato conservato.
L'eliminazione permanente della VM comporta la perdita di tutte le coppie chiave-valore dei metadati stateful.
Puoi configurare se conservare o eliminare i dischi e gli indirizzi IP stateful al momento
dell'eliminazione permanente dell'istanza impostando il flag autoDelete
per ogni risorsa
nella policy stateful o in una configurazione per istanza. Il flag
supporta due opzioni:
NEVER
: (Valore predefinito) Il MIG non elimina mai il disco.ON_PERMANENT_INSTANCE_DELETION
: il MIG elimina il disco quando l'istanza viene eliminata definitivamente.
Il MIG non elimina le risorse stateful durante la riparazione automatica, l'aggiornamento o la ricreazione delle istanze.
Nell'esempio seguente, il MIG ha una singola VM node-1
con uno
stato conservato definito da una configurazione per istanza. Lo stato conservato include
due dischi (blu e verde) e i metadati id:xyz273
. Se regoli le dimensioni del MIG su
zero, il MIG attiva l'eliminazione permanente dell'istanza node-1
,
con i seguenti effetti:
- Il MIG elimina l'istanza gestita e la relativa configurazione dello stato conservato.
- Il MIG elimina la configurazione per istanza dell'istanza.
- Il MIG elimina la risorsa dell'istanza VM effettiva.
- I metadati
id:xyz273
vengono persi perché l'istanza VM e la relativa configurazione dello stato conservato vengono eliminate. - Il disco blu stateful viene eliminato perché, per questo disco, la
configurazione per istanza ha
autoDelete: ON_PERMANENT_INSTANCE_DELETION
. - Il disco verde stateful è scollegato perché, per questo disco, la
configurazione per istanza ha
autoDelete:NEVER
.
In che modo l'abbandono di un'istanza influisce sullo stato conservato
Quando abbandoni un'istanza VM da un MIG, lo stato della VM, inclusi i metadati stateful, gli indirizzi IP e i dischi, rimane nell'istanza al di fuori del MIG. Poiché la VM non è più gestita dal MIG, il MIG elimina la configurazione per istanza e l'istanza gestita corrispondente, inclusa la configurazione dello stato conservato dell'istanza.
Nell'esempio seguente, la VM node-1
ha uno stato conservato, definito da
una policy stateful (disco blu) e da una configurazione per istanza (disco verde e
metadati id:xyz273
). Se rimuovi l'istanza node-1
dal MIG,
ecco cosa succede al suo stato conservato:
- L'istanza VM autonoma,
node-1
, conserva il proprio stato: tutti i suoi dischi rimangono collegati e i metadati,id:xyz273
, rimangono impostati sulla VM. - Il MIG elimina l'istanza gestita e la relativa configurazione dello stato conservato.
- Il MIG elimina la configurazione per istanza dell'istanza.
- La policy stateful rimane invariata perché è applicabile a tutte le istanze nel MIG.
In che modo i gruppi di regione gestiscono lo stato conservato
I MIG di regione stateful gestiscono gli stati conservati delle loro istanze nello stesso modo dei MIG a livello di zona, tranne per il fatto che i MIG a livello di regione creano istanze VM in più zone:
- Quando crei istanze, un MIG a livello di regione distribuisce uniformemente le VM tra le zone della regione per massimizzare la disponibilità della tua app in caso di errore a livello di zona.
- Per le istanze esistenti, un MIG stateful a livello di regione non può ridistribuire o
spostare automaticamente le VM esistenti tra le zone perché lo stato conservato
viene archiviato in una zona specifica e non può essere spostato. Per questo motivo,
i MIG stateful a livello di regione supportano solo un
tipo di ridistribuzione delle istanze
con impostazione
NONE
.
Feedback
Vogliamo conoscere i tuoi casi d'uso, le tue sfide e i tuoi feedback sui MIG stateful. Condividi il tuo feedback con il nostro team all'indirizzo mig-discuss@google.com.
Passaggi successivi
- Leggi l'articolo Come funzionano i MIG stateful.
- Leggi l'articolo Configurazione dei MIG stateful per scoprire come supportare i workload stateful conservando i nomi delle istanze, i dischi permanenti e i metadati nelle istanze gestite.
- Scopri di più sui gruppi di istanze gestite.
- Utilizza le istanze gestite.