In che modo alcune operazioni influiscono sullo stato conservato delle istanze gestite


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:

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:

  1. Rimuovi la configurazione del disco dalla policy stateful.
  2. (Facoltativo) Scollega i dischi dalle istanze VM se vuoi comunque conservarli.
  3. 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.

Eliminazione di un'istanza da un MIG stateful.

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.

Abbandono di un'istanza da un MIG stateful.

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