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 affinché venga applicata.
  • Visualizza la configurazione con stato e lo stato preservato effettivo delle istanze gestite.
  • Rimuovi la configurazione stateful.

Prima di iniziare

  • Consulta quando utilizzare i gruppi di istanze gestite stateful e come funzionano i gruppi di istanze gestite stateful.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Applicazione della configurazione stateful alle istanze gestite

La configurazione stateful diventa effettiva dopo che tu o il gruppo di istanze gestite la applicate.

  • 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 ulteriori informazioni concettuali, leggi Come viene applicata la configurazione con stato alle istanze gestite.

Applicazione della configurazione da un criterio stateful

Tutte le modifiche di configurazione in un criterio con stato vengono applicate automaticamente a tutte le istanze gestite. Gli aggiornamenti a un criterio con stato non interrompono le istanze VM (macchine virtuali) in esecuzione.

Verificare se è stato applicato un criterio con stato

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 di VM specifiche

Verifica se le modifiche a un criterio con stato sono state applicate a una VM specifica in un MIG visualizzando lo stato preservato dell'istanza gestita e controllando se tutti i dischi del criterio con stato sono presenti in preservedStateFromPolicy o preservedStateFromConfig per l'istanza gestita.

Applicazione della configurazione stateful dalle configurazioni per istanza

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

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

Entrambi questi metodi applicano gli aggiornamenti in sospeso sia dalle configurazioni per istanza sia dalle versioni o dai modelli di istanze non applicati, se pertinenti.

Applicare la configurazione aggiornata in modo selettivo a istanze specifiche

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

  1. Configura un criterio di aggiornamento opportunistico per evitare una situazione di concorrenza con gli aggiornamenti proattivi automatici.
  2. Crea o aggiorna le configurazioni per istanza.
  3. Applica le configurazioni aggiornate a VM specifiche aggiornandole in modo selettivo.

In alternativa, puoi utilizzare 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 manualmente nuove istanze, specifica i relativi nomi e le configurazioni per istanza al momento della creazione. Il gruppo di istanze gestite applica le configurazioni immediatamente alla creazione della VM.

Applica automaticamente la configurazione aggiornata con gli aggiornamenti in sequenza

Configura gli aggiornamenti in sequenza proattivi per il gruppo di istanze gestite in modo che applichi automaticamente gli aggiornamenti di configurazione alle istanze gestite corrispondenti in modo sequenziale.

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

Questa configurazione garantisce che il MIG ricree le istanze stateful esistenti e non le sostituisca con altre.

Se possibile, puoi anche assicurarti che le modifiche alle configurazioni per istanze vengano applicate senza arrestare le istanze 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 ed sono efficaci oppure il gruppo non ha configurazioni per istanza.
  • false: il gruppo ha almeno una configurazione per istanza non ancora vigente: non l'hai ancora applicata o è in corso di applicazione.

Verifica di una configurazione per istanza specifica

Per verificare se le modifiche a una configurazione per istanza specifica sono state applicate alla 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 alla VM la configurazione per istanza nuova o aggiornata.
  • EFFECTIVE: la configurazione per istanza è stata applicata correttamente alla VM ed è efficace.
  • UNAPPLIED_DELETION: la configurazione per istanza è impostata per essere eliminata. Per applicare questo aggiornamento alla VM, devi eseguire un aggiornamento manuale dell'istanza.
  • DELETING: la configurazione per istanza viene eliminata e la modifica viene applicata alla VM.

Visualizzazione della configurazione stateful e dello stato preservato

Visualizza informazioni sui tuoi gruppi di istanze gestite stateful per le seguenti attività:

  • Verificare se un gruppo di istanze gestite ha una configurazione stateful e se questa configurazione è applicata ed efficace.
  • Visualizzazione della configurazione con stato comune a tutte le istanze del MIG, archiviata nel criterio con stato.
  • Visualizzazione della configurazione stateful specifica per le singole istanze, memorizzata nelle configurazioni per istanza, e verifica dell'applicazione e dell'efficacia di questa configurazione.
  • Visualizzazione dello stato conservato effettivo per ogni istanza in un gruppo di istanze gestite in base al relativo criterio 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 contiene qualsiasi 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 effettivo. Se crei configurazioni per istanza, potresti decidere di applicarle in un secondo momento.

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

gcloud

Per verificare se un gruppo di istanze gestite ha una configurazione stateful, visualizza il relativo 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 con stato, ovvero un criterio con stato 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 non ancora efficace: non l'hai ancora applicata o è in corso di applicazione.

REST

Per verificare se un gruppo di istanze gestite ha 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 con stato, ovvero un criterio con stato 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 non ancora efficace: non l'hai ancora applicata o è in corso di applicazione.

Visualizzazione del criterio stateful di un MIG

Visualizza la policy stateful di un gruppo controllandone i dettagli 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 con stato sono elencate tutte le risorse nel piano con stato.

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 controlla 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 MIG

Visualizza le configurazioni per istanza elencando tutte le configurazioni per istanza in un gruppo di istanze gestite. Utilizza l'interfaccia alla gcloud CLI o REST.

Se decidi di applicare manualmente le configurazioni per istanza, alcune configurazioni per istanza potrebbero non essere ancora applicate alle istanze associate e, di conseguenza, gli stati conservati delle istanze potrebbero non riflettere ancora le tue configurazioni per istanza. Per ulteriori informazioni, consulta Applicare configurazioni per istanza e Verificare se sono state applicate 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 elencare le configurazioni per istanza

Filtra l'elenco utilizzando il --filter flag 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 elencare le 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 delle 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 preservati delle istanze gestite

Quando la configurazione stateful viene applicata, 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 sostituita 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 preservato effettivo di ogni istanza gestita in un MIG, elenca le istanze gestite utilizzando gcloud CLI o REST.

gcloud

Controlla quali istanze gestite hanno preservato 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: lo stato dell'istanza gestita è stato preservato in base a un criterio stateful.
  • CONFIG: lo stato dell'istanza gestita è stato preservato in base a una configurazione per istanza.
  • Nessun valore: l'istanza gestita non ha uno stato preservato ed è stateless.

Visualizza lo stato preservato 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 preservato 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 sui relativi stati conservati:

{
  "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 associati

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

Se un gruppo di istanze MIG o le istanze non esistono più, ma le prenotazioni degli indirizzi IP esistono ancora, puoi elencare le prenotazioni degli indirizzi statici interni o esterni.

Rimozione della configurazione stateful

La rimozione della configurazione stateful è utile nei seguenti scenari:

  • Hai eseguito la migrazione di 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 ridefinito l'architettura del tuo carico di lavoro e non devi più mantenere alcun stato sulle istanze VM.
  • Hai creato una configurazione con stato per scopi di test e ora vuoi eliminare i dati.

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

Rimozione di una norma stateful

Quando rimuovi un criterio con stato, vengono interessate 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 nelle configurazioni per istanze per le singole istanze. In seguito alla successiva ricreazione dell'istanza, alla riparazione automatica o alle operazioni di aggiornamento, le risorse ora senza stato possono perdere il proprio stato:

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

Per informazioni concettuali, consulta in che modo la rimozione di una risorsa dal criterio con stato influisce sullo stato preservato.

gcloud

Per eliminare tutta la configurazione da un criterio con stato, esegui il comando gcloud compute instance-groups managed update con i flag applicabili. I flag applicabili sono i seguenti:

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

Ad esempio, se il criterio stateful contiene la configurazione di due dischi stateful con i nomi dei dispositivi data-disk e logs-disk e contiene la configurazione di indirizzi IP interni ed esterni stateful all'interno dell'interfaccia di rete nic0, esegui il seguente 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 dal proprio criterio stateful la configurazione stateful di data-disk e logs-disk, nonché la configurazione stateful dell'IP interno ed esterno per l'interfaccia di rete nic0. Di conseguenza, il gruppo di istanze gestite rimuove automaticamente e in modo asincrono i dischi e gli 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 tutta la configurazione nel criterio con stato, imposta il campo statefulPolicy su null utilizzando instanceGroupManagers.patch o regionInstanceGroupManagers.patch. metodo.

Ad esempio, la seguente chiamata rimuove la configurazione delle norme 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 con stato e rimuove le risorse con stato dagli stati conservati di tutte le istanze gestite nel gruppo automaticamente e in modo 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 con stato per una VM specifica viene eseguita 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 con stato precedentemente configurati nella configurazione per istanza ora vengono trattati come senza stato, a meno che non siano anche configurati nel criterio con stato del gruppo. Quando la VM viene successivamente rielaborata o aggiornata, lo stato degli elementi viene perso:

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

Per ulteriori informazioni, consulta in che modo la rimozione di elementi dalle configurazioni per istanza influisce sullo stato preservato.

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 al successivo ricreare o aggiornare l'istanza.

Il flag --instance-update-minimal-action può essere utilizzato 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 MIG.
  • INSTANCE_NAME: i nomi delle gaggi per le quali eliminare le configurazioni per istanza
  • MINIMAL_ACTION: l'azione minima da eseguire quando si applica l'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 interrompere 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 il seguente 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 per node-1 e, poiché la VM è stata aggiornata e sono state applicate le modifiche alla configurazione, il gruppo di istanze gestite non tratta più come stateful gli elementi precedentemente stateful.

REST

Per eliminare completamente la configurazione per istanze per una o più istanze, utilizza il metodo 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: i nomi delle istanze per le quali 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 seguente metodo:

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 la ricollochi o la aggiorni.

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

Vorremmo conoscere i tuoi casi d'uso, le tue sfide e i tuoi feedback sulle MIG stateful. Condividi il tuo feedback con il nostro team all'indirizzo mig-discuss@google.com.

Passaggi successivi