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 (MIG) stateful, puoi:

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

Prima di iniziare

  • Rivedi quando utilizzare i MIG stateful e come funzionano i MIG stateful.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo di verifica dell'identità per poter accedere a Trusted Cloud by S3NS servizi e API. 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init
    2. Set a default region and zone.

    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 accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .

Applicazione della configurazione stateful alle istanze gestite

La configurazione stateful è effettiva dopo che tu o il MIG l'avete applicata.

  • Le modifiche alla configurazione in una policy 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 stateful alle istanze gestite.

Applicazione della configurazione da una policy stateful

Tutte le modifiche alla configurazione in una policy stateful vengono applicate automaticamente a tutte le istanze gestite. Gli aggiornamenti a una policy stateful non causano interruzioni delle istanze di macchine virtuali (VM) in esecuzione.

Verifica se è stata applicata una policy stateful

Verifica di tutte le VM

Verifica se le modifiche a una policy stateful sono state applicate a tutte le VM controllando se il MIG è diventato stabile dopo le modifiche.

Verifica di VM specifiche

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

Applicazione della configurazione stateful dalle configurazioni per istanza

Puoi applicare le configurazioni per istanza 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 i metodi applicano gli aggiornamenti in attesa sia dalle configurazioni per istanza sia dalle versioni o dal modello di istanza non applicati, se pertinenti.

Applica in modo selettivo la configurazione aggiornata a istanze specifiche

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

  1. Configura una policy di aggiornamento opportunistico per evitare una competizione 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 MIG 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 tuo MIG in modo da applicare automaticamente gli aggiornamenti della configurazione alle istanze gestite corrispondenti in modo sequenziale.

I MIG stateful richiedono la seguente configurazione per una policy di aggiornamento proattiva:

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

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

Verificare se le configurazioni per istanza sono state applicate

Verifica di tutte le configurazioni per istanza

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

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

Verifica di una configurazione specifica per istanza

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 MIG sta applicando la configurazione per istanza nuova o aggiornata alla VM.
  • EFFECTIVE: la configurazione per istanza è stata applicata correttamente alla VM ed è effettiva.
  • UNAPPLIED_DELETION: la configurazione per istanza è impostata per l'eliminazione. Perché l'aggiornamento abbia effetto, devi applicarlo alla VM con 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 conservato

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

  • Verifica se un MIG ha una configurazione stateful e se questa configurazione è applicata ed efficace.
  • Visualizzazione della configurazione stateful comune a tutte le istanze del MIG, archiviata nella policy stateful.
  • Visualizzazione della configurazione stateful specifica per le singole istanze, archiviata nelle configurazioni per istanza e verifica che questa configurazione sia applicata ed efficace.
  • Visualizzazione dello stato conservato effettivo per ogni istanza in un MIG in base alla relativa policy stateful e alle configurazioni per istanza applicate.

Visualizzare lo stato della configurazione stateful di un MIG

Un MIG è considerato stateful se ha una configurazione stateful, ovvero una policy stateful o almeno una configurazione per istanza non vuota.

Se crei una policy stateful, il MIG la applica automaticamente per renderla effettiva. Se crei configurazioni per istanza, potresti decidere di applicarle in un secondo momento.

Per verificare se un MIG ha una configurazione stateful e che tutte le configurazioni per istanza siano applicate, visualizza lo stato stateful del MIG utilizzando gcloud CLI o REST.

gcloud

Per verificare se un MIG 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 stateful, ovvero una policy stateful non vuota 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 effettive oppure il gruppo non ha configurazioni per istanza.
    • false: il gruppo ha almeno una configurazione per istanza non ancora effettiva: non l'hai ancora applicata o è in fase di applicazione.

REST

Per verificare se un MIG 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 stateful, ovvero una policy stateful non vuota 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 effettive oppure il gruppo non ha configurazioni per istanza.
    • false: il gruppo ha almeno una configurazione per istanza non ancora effettiva: non l'hai ancora applicata o è in fase di applicazione.

Visualizzazione della policy stateful di un MIG

Visualizza la policy stateful di un MIG controllando i dettagli del gruppo con la console Trusted Cloud , gcloud CLI o REST.

Console

  1. Nella console Trusted 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 la policy stateful.

  3. Vai alla scheda Dettagli.

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

gcloud

Per visualizzare la policy stateful di un MIG, 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 la policy stateful di un MIG, 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 gruppo di istanze gestite

Visualizza le configurazioni per istanza elencando tutte le configurazioni per istanza in un MIG. Utilizza gcloud CLI o REST.

Se decidi di applicare manualmente le configurazioni per istanza, alcune configurazioni per istanza potrebbero non essere ancora state applicate alle istanze associate e, pertanto, gli stati conservati delle istanze potrebbero non riflettere ancora le configurazioni per istanza. Per ulteriori informazioni, vedi Applicare configurazioni per istanza e Verificare se le configurazioni per istanza sono state applicate.

gcloud

Elenca tutte le configurazioni per istanza in un MIG 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 MIG da cui elencare le configurazioni per istanza

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

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 MIG 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 MIG (si applica a un MIG a livello di zona)
    • Per un MIG a livello di regione, sostituisci zones/ZONE con regions/REGION e specifica la regione del MIG
  • NAME: il nome di un MIG 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 conservati delle istanze gestite

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

  • preservedStateFromPolicy: contiene lo stato conservato generato in base a una policy stateful, escludendo qualsiasi configurazione stateful sottoposta a override 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 conservato effettivo di ogni istanza gestita in un MIG, elenca le istanze gestite utilizzando gcloud CLI o REST.

gcloud

Controlla 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 una policy stateful.
  • CONFIG: l'istanza gestita ha uno stato conservato in base a una configurazione per istanza.
  • Nessun valore: l'istanza gestita 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 MIG
  • 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 ciascuna 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 di indirizzi IP statici associati

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

Se un 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 MIG stateful e ora vuoi spostare la configurazione stateful dalle configurazioni per istanza a un criterio stateful comune.
  • Hai riprogettato il tuo workload e non hai più bisogno di conservare alcuno stato nelle istanze VM.
  • Hai creato una configurazione stateful a scopo di test e ora vuoi pulirla.

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

Rimozione di una policy stateful

Quando rimuovi una policy stateful, influisci su tutte le VM in un MIG. Il MIG considera tutte le risorse stateful configurate nella policy stateful come stateless, a meno che non siano configurate anche nelle configurazioni per istanza per le singole istanze. Nelle successive operazioni di ricreazione, riparazione automatica o aggiornamento dell'istanza, le risorse ora stateless possono perdere il loro stato:

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

Per informazioni concettuali, vedi in che modo la rimozione di una risorsa dalla policy stateful influisce sullo stato conservato.

gcloud

Per eliminare tutta la configurazione da una policy 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 la tua policy stateful contiene la configurazione per due dischi stateful con i nomi dei dispositivi data-disk e logs-disk e la configurazione per gli indirizzi IP interni ed esterni stateful nell'interfaccia di rete nic0, esegui questo comando per cancellare la policy:

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 MIG rimuove dalla sua policy stateful la configurazione stateful data-disk e logs-disk, nonché la configurazione IP interno ed esterno stateful per l'interfaccia di rete nic0. Di conseguenza, il MIG rimuove in modo automatico e asincrono questi dischi e indirizzi IP statici dagli stati conservati di tutte le istanze gestite del gruppo, a meno che i dischi o gli indirizzi IP non siano configurati anche nelle configurazioni per istanza.

REST

Per eliminare tutta la configurazione nella policy stateful, imposta il campo statefulPolicy su null utilizzando instanceGroupManagers.patch o regionInstanceGroupManagers.patch. metodo.

Ad esempio, la seguente chiamata rimuove la configurazione della policy stateful:

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

{
  "statefulPolicy": null
}

Il MIG cancella la configurazione della policy stateful e rimuove le risorse stateful dagli stati conservati di tutte le istanze gestite del 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 precedentemente configurati nella configurazione per istanza vengono ora trattati come stateless, a meno che non siano configurati anche nella policy stateful del gruppo. Quando la VM viene successivamente ricreata o aggiornata, lo stato degli elementi viene perso:

  • I dischi possono essere scollegati o ricreati dalla relativa origine nel template 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 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 (impostazione predefinita). Se imposti il flag --no-update-instance, le modifiche vengono applicate alla successiva ricreazione o al successivo aggiornamento dell'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 istanze per cui eliminare le configurazioni per istanza
  • MINIMAL_ACTION: L'azione minima da eseguire quando viene applicato 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 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 MIG elimina la configurazione per istanza per node-1 e, poiché la VM è stata aggiornata e le modifiche alla configurazione sono state applicate, il MIG non considera più questi elementi precedentemente stateful come stateful.

REST

Per eliminare completamente la configurazione per istanza 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 MIG (si applica a un MIG a livello di zona)
    • Per un MIG a livello di regione, sostituisci zones/ZONE con regions/REGION e specifica la regione del MIG
  • INSTANCE_GROUP_NAME: il nome del MIG
  • INSTANCE_NAME: i 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 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 ricrei o aggiorni l'istanza.

Per applicare la modifica della 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