Applicazione, visualizzazione e rimozione della configurazione stateful nei gruppi di istanze gestite

Dopo aver creato o aggiornato una configurazione stateful per un gruppo di istanze gestite stateful (MIG), puoi:

  • Applica la configurazione stateful per applicarla.
  • Visualizza la configurazione stateful e lo stato conservato effettivo delle istanze gestite.
  • Rimuovi la configurazione stateful.

Prima di iniziare

  • Scopri quando utilizzare i MIG stateful e come funzionano i MIG stateful.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Applicazione della configurazione stateful alle istanze gestite

La configurazione stateful diventa effettiva dopo l'applicazione da parte tua o del gruppo di istanze gestite.

  • Le modifiche alla configurazione in un criterio stateful vengono applicate automaticamente a tutte le istanze gestite.
  • Le modifiche alla configurazione in una configurazione per istanza possono essere applicate manualmente o automaticamente.

Per informazioni più concettuali, consulta In che modo la configurazione stateful viene applicata alle istanze gestite.

Applicazione della configurazione da un criterio stateful

Tutte le modifiche alla configurazione in un criterio stateful vengono applicate automaticamente a tutte le istanze gestite. Gli aggiornamenti a un criterio stateful non interrompono l'esecuzione delle istanze di macchine virtuali (VM).

Verificare se è stato applicato un criterio stateful

Verifica di tutte le VM

Verifica se le modifiche a un criterio stateful sono state applicate a tutte le VM controllando se il gruppo di istanze gestite è diventato stabile dopo le modifiche.

Verifica VM specifiche

Verifica se le modifiche a un criterio stateful sono state applicate a una VM specifica in un gruppo di istanze gestite visualizzando lo stato conservato dell'istanza gestita e controllando se tutti i dischi del criterio stateful sono presenti in preservedStateFromPolicy o preservedStateFromConfig per l'istanza gestita.

Applicazione della configurazione stateful da configurazioni per istanza

Puoi applicare configurazioni per istanza nuove o aggiornate manualmente o automaticamente. Utilizza uno dei seguenti approcci:

  • Applica selettivamente le configurazioni aggiornate a istanze specifiche: utilizza questo approccio per controllare l'interruzione, le tempistiche e la sequenza degli aggiornamenti.
  • Applica automaticamente le configurazioni aggiornate con gli aggiornamenti in sequenza: utilizza questo approccio per applicare le modifiche di configurazione alle istanze gestite in modo automatico e in sequenza.

Entrambi questi metodi applicano aggiornamenti in sospeso sia dalle configurazioni per istanza che dalle versions o dal modello di istanza non applicati, se pertinente.

Applica selettivamente la configurazione aggiornata a istanze specifiche

Per applicare manualmente le configurazioni per istanza a istanze specifiche, segui questi passaggi:

  1. Configura un criterio di aggiornamento opportunità per impedire una corsa con aggiornamenti proattivi automatici.
  2. Crea o aggiorna le configurazioni per istanza.
  3. Applica configurazioni aggiornate a VM specifiche aggiornando selettivamente le VM.

In alternativa, puoi adottare i seguenti approcci:

  • Quando crei o aggiorni una configurazione per istanza con gcloud CLI, utilizza il flag --update-instance per applicare immediatamente la configurazione all'istanza gestita associata.
  • Quando crei nuove istanze manualmente, specifica i relativi nomi e configurazioni per istanza al momento della creazione. Il gruppo di istanze gestite applica le configurazioni immediatamente alla creazione delle VM.

Applica automaticamente la configurazione aggiornata con gli aggiornamenti in sequenza

Configura gli aggiornamenti in sequenza proattivi per il tuo gruppo di istanze gestite in modo che applichino automaticamente gli aggiornamenti della configurazione alle istanze gestite corrispondenti in modo continuativo.

I MIG stateful richiedono la seguente configurazione per poter applicare un criterio di aggiornamento proattivo:

Questa configurazione garantisce che il gruppo di istanze gestite ricrea le istanze stateful esistenti e non le sostituisce con altre diverse.

Puoi inoltre assicurarti che le modifiche alle configurazioni per istanza vengano applicate senza arrestare le istanze, se possibile, impostando l'azione minima su REFRESH nel criterio di aggiornamento del gruppo.

Verificare se sono state applicate configurazioni per istanza

Verifica di tutte le configurazioni per istanza

Per verificare se sono state applicate tutte le configurazioni per istanza in un gruppo di istanze gestite, visualizza lo stato stateful del gruppo di istanze gestite e controlla status.stateful.perInstanceConfigs.allEffective:

  • true: tutte le configurazioni per istanza nel gruppo sono state applicate e sono efficaci oppure il gruppo non ha configurazioni per istanza.
  • false: il gruppo ha almeno una configurazione per istanza non ancora efficace: non l'hai ancora applicata o è in fase di applicazione.

Verificare una configurazione per istanza specifica

Per verificare se le modifiche a una configurazione per istanza specifica sono state applicate alla rispettiva VM corrispondente, visualizza tutte le configurazioni per istanza e controlla il campo status della configurazione per istanza specifica:

  • UNAPPLIED: la configurazione per istanza è stata creata o aggiornata e devi applicarla alla VM con un aggiornamento manuale dell'istanza.
  • APPLYING: il gruppo di istanze gestite sta attualmente applicando la configurazione per istanza nuova o aggiornata alla VM.
  • EFFECTIVE: la configurazione per istanza è stata applicata correttamente alla VM ed è efficace.
  • UNAPPLIED_DELETION: la configurazione per istanza è impostata per essere eliminata. Affinché venga applicato, devi applicare questo aggiornamento alla VM con un aggiornamento manuale dell'istanza.
  • DELETING: la configurazione per istanza è in fase di eliminazione e la modifica viene applicata alla VM.

Visualizzazione della configurazione stateful e dello stato conservato

Ottieni informazioni sui tuoi MIG stateful per le attività seguenti:

  • Verifica se un gruppo di istanze gestite dispone di una configurazione stateful e se questa configurazione viene applicata ed efficace.
  • Visualizzazione della configurazione stateful comune a tutte le istanze nel gruppo di istanze gestite, archiviata nel criterio stateful.
  • Visualizzazione della configurazione stateful specifica di singole istanze, archiviata in configurazioni per istanza e controllo dell'applicazione e dell'efficacia della configurazione.
  • Visualizzazione dello stato di conservazione effettivo per ogni istanza in un gruppo di istanze gestite in base ai relativi criteri stateful e alle configurazioni per istanza applicate.

Visualizzazione dello stato della configurazione stateful di un gruppo di istanze gestite

Un gruppo di istanze gestite è considerato stateful se ha una configurazione stateful, ovvero un criterio stateful o almeno una configurazione per istanza non vuota.

Se crei un criterio stateful, il gruppo di istanze gestite lo applica automaticamente per renderlo efficace. Se crei configurazioni per istanza, puoi decidere di applicarle in un secondo momento.

Per verificare se un gruppo di istanze gestite abbia una configurazione stateful e che siano applicate tutte le configurazioni per istanza, visualizza lo stato stateful del gruppo di istanze gestite utilizzando gcloud CLI o REST.

gcloud

Per verificare se un gruppo di istanze gestite dispone di una configurazione stateful, visualizzane lo stato stateful eseguendo il comando gcloud compute instance-groups managed describe. Ad esempio:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

In questo output:

  • hasStatefulConfig:
    • true: il gruppo ha una configurazione stateful, ovvero un criterio stateful non vuoto o almeno una configurazione per istanza non vuota.
    • false: non esiste alcuna configurazione stateful.
  • perInstanceConfigs.allEffective:
    • true: tutte le configurazioni per istanza nel gruppo sono state applicate e sono efficaci oppure il gruppo non ha configurazioni per istanza.
    • false: il gruppo ha almeno una configurazione per istanza che non è ancora efficace: non l'hai ancora applicata o è in fase di applicazione.

REST

Per verificare se un gruppo di istanze gestite dispone di una configurazione stateful, utilizza il metodo instanceGroupManagers.get o regionInstanceGroupManagers.get e controlla il campo status.stateful. Ad esempio:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Il metodo restituisce l'oggetto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

In questo output:

  • hasStatefulConfig:
    • true: il gruppo ha una configurazione stateful, ovvero un criterio stateful non vuoto o almeno una configurazione per istanza non vuota.
    • false: non esiste alcuna configurazione stateful.
  • perInstanceConfigs.allEffective:
    • true: tutte le configurazioni per istanza nel gruppo sono state applicate e sono efficaci oppure il gruppo non ha configurazioni per istanza.
    • false: il gruppo ha almeno una configurazione per istanza che non è ancora efficace: non l'hai ancora applicata o è in fase di applicazione.

Visualizzazione di un criterio stateful di un gruppo di istanze gestite

Visualizza il criterio stateful di un gruppo di istanze gestite controllando i dettagli del gruppo con la console Google Cloud, gcloud CLI o REST.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Fai clic sul nome del gruppo di istanze di cui vuoi visualizzare il criterio stateful.

  3. Vai alla scheda Dettagli.

  4. In Risorse stateful sono elencate tutte le risorse nel criterio stateful.

gcloud

Per visualizzare il criterio stateful di un gruppo di istanze gestite, esegui il comando gcloud compute instance-groups managed describe. Ad esempio:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Per visualizzare il criterio stateful di un gruppo di istanze gestite, utilizza il metodo instanceGroupManagers.get o regionInstanceGroupManagers.get e seleziona il campo statefulPolicy. Ad esempio:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Il metodo restituisce l'oggetto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Visualizzazione delle configurazioni per istanza di un gruppo di istanze gestite

Visualizza le configurazioni per istanza elencando tutte le configurazioni per istanza in un gruppo di istanze gestite. Usa gcloud CLI o REST.

Se decidi di applicare manualmente le configurazioni per istanza, alcune potrebbero non essere ancora state applicate alle istanze associate. Di conseguenza, lo stato conservato delle istanze potrebbe non riflettere ancora le configurazioni per istanza. Per maggiori informazioni, consulta Applicare le configurazioni per istanza e Verificare se sono state applicate le configurazioni per istanza

gcloud

Elenca tutte le configurazioni per istanza in un gruppo di istanze gestite eseguendo il comando gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Sostituisci quanto segue:

  • NAME: il nome di un gruppo di istanze gestite da cui eseguire l'elenco delle configurazioni per istanza

Filtra l'elenco utilizzando il flag --filter standard.

Ad esempio, per elencare tutte le configurazioni per istanza in example-group:

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Elenca tutte le configurazioni per istanza in un gruppo di istanze gestite chiamando il metodo instanceGroupManagers.listPerInstanceConfigs o regionInstanceGroupManagers.listPerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per la richiesta
  • ZONE: la zona in cui si trova il gruppo di istanze gestite (si applica a un gruppo di istanze gestite a livello di zona)
    • Per un gruppo di istanze gestite a livello di regione, sostituisci zones/ZONE con regions/REGION e specifica la regione del gruppo di istanze gestite
  • NAME: il nome di un gruppo di istanze gestite da cui eseguire l'elenco delle configurazioni per istanza

Ad esempio, per elencare tutte le configurazioni per istanza in example-group:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

Il metodo restituisce l'elenco di configurazioni per istanza nel gruppo:

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Visualizzazione degli stati conservati delle istanze gestite

Quando viene applicata la configurazione stateful, il gruppo di istanze gestite genera e imposta lo stato conservato effettivo di ogni istanza gestita in due campi:

  • preservedStateFromPolicy: contiene lo stato conservato generato in base a un criterio stateful, esclusa qualsiasi configurazione stateful sovrascritta dalle configurazioni per istanza.
  • preservedStateFromConfig: contiene lo stato conservato generato in base a una configurazione per istanza già applicata all'istanza gestita.

Per visualizzare lo stato di conservazione effettivo di ogni istanza gestita in un gruppo di istanze gestite, elenca le istanze gestite utilizzando gcloud CLI o REST.

gcloud

Verifica quali istanze gestite hanno conservato lo stato utilizzando il comando gcloud compute instance-groups managed list-instances e visualizzando i valori nella colonna PRESERVED_STATE. Ad esempio:

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

La colonna PRESERVED_STATE può contenere i seguenti valori:

  • POLICY: l'istanza gestita ha conservato lo stato in base a un criterio stateful.
  • CONFIG: l'istanza gestita ha conservato lo stato in base a una configurazione per istanza.
  • Nessun valore: l'istanza di gestione non ha uno stato conservato ed è stateless.

Visualizza lo stato conservato di un'istanza gestita specifica eseguendo il comando gcloud compute instance-groups managed describe-instance.

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite
  • INSTANCE_NAME: il nome di un'istanza gestita nel gruppo

Ad esempio, per visualizzare lo stato conservato dell'istanza gestita node-1 in example-group, esegui:

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Elenca le istanze gestite per visualizzare lo stato conservato di ogni istanza chiamando il metodo instanceGroupManagers.listManagedInstances o regionInstanceGroupManagers.listManagedInstances.

Ad esempio, per elencare tutte le istanze gestite:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

Il metodo restituisce l'elenco delle istanze gestite nel gruppo, che contiene informazioni sullo stato di conservazione:

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Visualizzazione delle risorse degli indirizzi IP statici associate

Per recuperare gli indirizzi IP statici (risorse Address) assegnati alle istanze gestite in un gruppo di istanze gestite, visualizza gli stati conservati di queste istanze. Puoi visualizzare gli indirizzi statici nei campi ipAddress.address.

Se un gruppo di istanze gestite o le istanze non esistono più, ma esistono ancora prenotazioni di indirizzi IP, puoi elencare le prenotazioni di indirizzi interne o esterne statiche.

Rimozione della configurazione stateful in corso

La rimozione della configurazione stateful è utile nei seguenti scenari:

  • Hai eseguito la migrazione delle VM autonome a un gruppo di istanze gestite stateful e ora vuoi spostare la configurazione stateful dalle configurazioni per istanza a un criterio stateful comune.
  • Hai riprogettato il carico di lavoro e non devi più mantenere qualsiasi stato sulle istanze VM.
  • Hai creato una configurazione stateful a scopo di test e ora vuoi pulirla.

Questa sezione descrive come rimuovere completamente un criterio stateful su una configurazione per istanza. Se devi solo rimuovere un sottoinsieme di un criterio stateful o una configurazione per istanza, consulta le seguenti sezioni:

Rimuovere un criterio stateful

La rimozione di un criterio stateful influisce su tutte le VM in un gruppo di istanze gestite. Il gruppo di istanze gestite tratta tutte le risorse stateful configurate nel criterio stateful come stateless, a meno che queste risorse non siano configurate anche in configurazioni per istanza per le singole istanze. Durante le successive operazioni di ricreazione, riparazione automatica o aggiornamento delle istanze, le risorse ora stateless possono perdere il proprio stato:

  • I dischi possono essere eliminati e ricreati dall'origine, definita nel modello di istanza.
  • Gli indirizzi IP potrebbero cambiare.

Per informazioni concettuali, consulta In che modo la rimozione di una risorsa dai criteri stateful influisce sullo stato conservato.

gcloud

Per eliminare tutte le configurazioni da un criterio stateful, esegui il comando gcloud compute instance-groups managed update con i flag applicabili. I flag applicabili sono i seguenti:

  • --remove-stateful-disks ed elenca i nomi dei dispositivi di tutti i dischi stateful configurati.
  • --remove-stateful-internal-ips ed elenca i nomi delle interfacce di rete di tutti gli indirizzi IP interni stateful configurati.
  • --remove-stateful-external-ips ed elenca i nomi delle interfacce di rete di tutti gli indirizzi IP esterni stateful configurati.

Ad esempio, se il criterio stateful contiene la configurazione per due dischi stateful con i nomi dei dispositivi data-disk e logs-disk e contiene la configurazione per gli indirizzi IP interni ed esterni stateful all'interno dell'interfaccia di rete nic0, esegui questo comando per cancellare il criterio:

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

Il gruppo di istanze gestite rimuove dai suoi criteri stateful la configurazione stateful data-disk e logs-disk, nonché la configurazione degli IP interni ed esterni stateful per l'interfaccia di rete nic0. Di conseguenza, il gruppo di istanze gestite rimuove automaticamente e in modo asincrono questi dischi e indirizzi IP statici dagli stati conservati di tutte le istanze gestite nel gruppo, a meno che i dischi o gli indirizzi IP non siano configurati anche nelle configurazioni per istanza.

REST

Per eliminare tutte le configurazioni nel criterio stateful, imposta il campo statefulPolicy su null utilizzando instanceGroupManagers.patch o regionInstanceGroupManagers.patch. .

Ad esempio, la chiamata seguente rimuove la configurazione dei criteri stateful:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

{
  "statefulPolicy": null
}

Il gruppo di istanze gestite cancella la configurazione dei criteri stateful e rimuove le risorse stateful dagli stati conservati di tutte le istanze gestite nel gruppo in modo automatico e asincrono, a meno che le risorse non siano configurate anche nelle configurazioni per istanza.

Rimozione della configurazione stateful per una VM specifica

La rimozione della configurazione stateful per una VM specifica avviene in due passaggi:

  1. Elimina la configurazione per istanza associata.
  2. Applica la modifica all'istanza gestita. Puoi scegliere se applicare la modifica manualmente o automaticamente.

Dopo l'applicazione della modifica, tutti gli elementi stateful configurati in precedenza nella configurazione per istanza ora vengono trattati come stateless, a meno che non siano stati configurati anche nel criterio stateful del gruppo. Quando la VM viene successivamente ricreata o aggiornata, lo stato degli elementi va perso:

  • I dischi possono essere scollegati o ricreati dall'origine nel modello di istanza.
  • I metadati vengono rimossi o reimpostati sui valori definiti nel modello di istanza.
  • Gli indirizzi IP potrebbero cambiare.

Per saperne di più, consulta in che modo la rimozione di elementi dalle configurazioni per istanza influisce sullo stato conservato.

gcloud

Per eliminare completamente la configurazione per istanza, esegui il comando gcloud compute instance-groups managed instance-configs delete.

Utilizza il flag facoltativo --update-instance per applicare immediatamente le modifiche all'istanza (valore predefinito). Se imposti il flag --no-update-instance, le modifiche vengono applicate la volta successiva che ricrei o aggiorni l'istanza.

Il flag --instance-update-minimal-action può essere usato solo insieme al flag --update-instance.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite.
  • INSTANCE_NAME: nomi delle istanze per cui eliminare le configurazioni per istanza
  • MINIMAL_ACTION: l'azione minima da eseguire durante l'applicazione dell'aggiornamento della configurazione per istanza alla VM. Questo valore deve essere uno dei seguenti:
    • none: nessuna azione.
    • refresh: applica gli aggiornamenti che è possibile applicare senza arrestare la VM.
    • restart: arresta la VM e riavviala.
    • replace: ricrea la VM.

Ad esempio, per eliminare la configurazione per istanza per node-1 in example-group, esegui questo comando:

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

Il gruppo di istanze gestite elimina la configurazione per istanza di node-1 e, poiché la VM è stata aggiornata e le modifiche alla configurazione sono state applicate, il gruppo di istanze gestite non considera più gli elementi stateful in precedenza come stateful.

REST

Per eliminare completamente la configurazione per istanza di una o più istanze, utilizza i metodi instanceGroupManagers.deletePerInstanceConfigs o regionInstanceGroupManagers.deletePerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per la richiesta
  • ZONE: la zona in cui si trova il gruppo di istanze gestite (si applica a un gruppo di istanze gestite a livello di zona)
    • Per un gruppo di istanze gestite a livello di regione, sostituisci zones/ZONE con regions/REGION e specifica la regione del gruppo di istanze gestite
  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite
  • INSTANCE_NAME: nomi delle istanze per cui eliminare le configurazioni per istanza

Il metodo deletePerInstanceConfig elimina le configurazioni per istanza specificate, ma non applica le modifiche alle VM associate. Le modifiche vengono applicate a una VM quando ricrei o aggiorni l'istanza. Aggiorna manualmente le VM selezionate per applicare le modifiche.

Ad esempio, per eliminare la configurazione per istanza per node-1 in example-group, chiama il metodo seguente:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

Il metodo elimina la configurazione per istanza per l'istanza node-1 da example-group. La modifica verrà applicata all'istanza gestita quando ricrei o aggiorni l'istanza.

Per applicare la modifica alla configurazione, chiama il metodo instanceGroupManagers.applyUpdatesToInstances:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

Il metodo rimuove gli elementi stateful dallo stato conservato dell'istanza gestita.

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