Visualizza, annulla o elimina le richieste di ridimensionamento in un gruppo di istanze gestite

Questo documento descrive come fare quanto segue dopo aver creato una richiesta di ridimensionamento in un gruppo di istanze gestite:

  • Visualizza le richieste di ridimensionamento in un gruppo di istanze gestite per monitorarne gli stati o risolvere i problemi.

  • Annulla le richieste di ridimensionamento per impedire a un gruppo di istanze gestite di creare il numero richiesto di istanze di macchine virtuali (VM).

  • Elimina le richieste di ridimensionamento.

Prima di iniziare

  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.

    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. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

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

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

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

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

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare, annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite, chiedi all'amministratore di concederti il ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per visualizzare, annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per visualizzare, annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite, sono necessarie le seguenti autorizzazioni:

  • Per annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite: compute.instanceGroupManagers.update
  • Per visualizzare un elenco di richieste di ridimensionamento in un gruppo di istanze gestite: compute.instanceGroupManagers.list
  • Per visualizzare i dettagli di una richiesta di ridimensionamento: compute.instanceGroupManagers.get

Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.

Visualizza le richieste di ridimensionamento

In base ai dettagli che vuoi visualizzare in una richiesta di ridimensionamento, utilizza uno dei seguenti metodi:

Visualizza un elenco di richieste di ridimensionamento in un gruppo di istanze gestite

Puoi visualizzare un elenco di tutte le richieste di ridimensionamento in un gruppo di istanze gestite e i relativi dettagli, tra cui stati, numero di VM richiesto e durata di esecuzione delle VM.

Console

Per visualizzare un elenco di tutte le richieste di ridimensionamento in un gruppo di istanze gestite:

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

    Vai a Gruppi di istanze

  2. Nella colonna Nome, fai clic sul nome del gruppo di istanze gestite che contiene le richieste di ridimensionamento.

    Viene visualizzata la pagina Panoramica del gruppo di istanze gestite.

  3. Nella riga Richieste di ridimensionamento, fai clic su Modifica richieste di ridimensionamento.

    Viene visualizzato il riquadro Richieste di ridimensionamento.

gcloud

Per visualizzare un elenco di tutte le richieste di ridimensionamento in un gruppo di istanze gestite, utilizza il comando beta instance-groups managed resize-requests list.

gcloud beta compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona con richieste di ridimensionamento accettate, riuscite, annullate o non riuscite.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

L'output è simile al seguente:

NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D

NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D

REST

Per visualizzare un elenco di tutte le richieste di ridimensionamento in un gruppo di istanze gestite a livello di zona, effettua una richiesta GET al metodo beta.instanceGroupManagerResizeRequests.list.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova un gruppo di istanze gestite di zona esistente con richieste di ridimensionamento accettate, riuscite, annullate o non riuscite.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona con richieste di ridimensionamento accettate, riuscite, annullate o non riuscite.

L'output è simile al seguente:

{
  "kind": "compute#instanceGroupManagerResizeRequestList",
  "id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
  "items": [
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "4247139565532196982",
      "creationTimestamp": "2024-01-08T07:51:53.034-08:00",
      "name": "rr-01",
      "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
      "count": 5,
      "resizeBy": 5,
      "requestedRunDuration": {
        "seconds": "86400",
        "nanos": 0
      },
      "state": "SUCCEEDED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
    },
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "8095866098849525652",
      "creationTimestamp": "2024-01-11T08:04:11.851-08:00",
      "name": "rr-02",
      "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
      "count": 10,
      "resizeBy": 10,
      "requestedRunDuration": {
        "seconds": "259200",
        "nanos": 0
      },
      "state": "ACCEPTED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

Visualizza i dettagli di una richiesta di ridimensionamento

Puoi visualizzare i dettagli di una richiesta di ridimensionamento per esaminarne la configurazione e, facoltativamente, risolvere i problemi se la richiesta non è ancora riuscita.

Per capire perché una richiesta di ridimensionamento (ACCEPTED) non va a buon fine, controlla il campo lastAttempt.error.errors.code nei dettagli. I possibili codici di errore sono i seguenti:

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: le risorse richieste non sono temporaneamente disponibili.

  • QUOTA_EXCEEDED: quota insufficiente per le risorse richieste nel progetto. Per aumentare la quota del progetto, consulta Richiedere una quota superiore.

gcloud

Per visualizzare i dettagli di una richiesta di ridimensionamento in un gruppo di istanze gestite a livello di zona, utilizza il comando beta instance-groups managed resize-requests describe.

gcloud beta compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
    --resize-request=RESIZE_REQUEST_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona esistente in cui si trova la richiesta di ridimensionamento.

  • RESIZE_REQUEST_NAME: il nome di una richiesta di ridimensionamento esistente di cui vuoi visualizzare i dettagli.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

L'output è simile al seguente:

creationTimestamp: '2024-01-10T07:51:53.034-08:00'
id: '4247139565532196982'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '6000'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request.
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a

REST

Per visualizzare i dettagli di una richiesta di ridimensionamento in un gruppo di istanze gestite, effettua una richiesta GET al metodo beta.instanceGroupManagerResizeRequests.get.

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il gruppo di istanze gestite a livello di zona.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona esistente in cui si trova la richiesta di ridimensionamento.

  • RESIZE_REQUEST_NAME: il nome di una richiesta di ridimensionamento esistente di cui vuoi visualizzare i dettagli.

L'output è simile al seguente:

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "4247139565532196982",
  "creationTimestamp": "2024-01-10T07:51:53.034-08:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
  "count": 10,
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "6000",
    "nanos": 0
  },
  "state": "ACCEPTED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request.",
          },
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
}

Annulla le richieste di ridimensionamento in un gruppo di istanze gestite

Puoi annullare le richieste di ridimensionamento in un gruppo di istanze gestite per impedire al gruppo di istanze gestite di tentare di creare il numero richiesto di VM. Puoi annullare solo le richieste di ridimensionamento accettate (ACCEPTED). Dopo aver annullato una richiesta di ridimensionamento, puoi eliminarla o lasciare che Compute Engine la elimini automaticamente dopo 14 giorni.

Per annullare più di una richiesta di ridimensionamento alla volta, utilizza la console Google Cloud o gcloud CLI.

Console

Per annullare le richieste di ridimensionamento in un gruppo di istanze gestite a livello di zona, segui questi passaggi:

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

    Vai a Gruppi di istanze

  2. Nella colonna Nome, fai clic sul nome del gruppo di istanze gestite che contiene le richieste di ridimensionamento.

    Viene visualizzata la pagina Panoramica del gruppo di istanze gestite.

  3. Nella riga Richieste di ridimensionamento, fai clic su Modifica richieste di ridimensionamento.

    Viene visualizzato il riquadro Richieste di ridimensionamento.

  4. Seleziona le richieste di ridimensionamento da annullare.

  5. Fai clic su Annulla, quindi su Conferma.

gcloud

Per annullare le richieste di ridimensionamento in un gruppo di istanze gestite a livello di zona, utilizza il comando beta instance-groups managed resize-requests cancel.

gcloud beta compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
    --resize-requests=RESIZE_REQUEST_NAMES \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona esistente con richieste di ridimensionamento accettate.

  • RESIZE_REQUEST_NAMES: un elenco separato da virgole di nomi delle richieste di ridimensionamento accettate nel gruppo di istanze gestite di zona specificato. Ad esempio, specifica request-1,request-2.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

REST

Per annullare una richiesta di ridimensionamento in un gruppo di istanze gestite a livello di zona, effettua una richiesta POST al metodo beta.instanceGroupManagerResizeRequests.cancel.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova un gruppo di istanze gestite di zona esistente con una richiesta di ridimensionamento accettata.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite.

  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento da annullare.

Elimina le richieste di ridimensionamento in un gruppo di istanze gestite

Per impostazione predefinita, Compute Engine elimina automaticamente una richiesta di ridimensionamento 14 giorni dopo l'impostazione dello stato della richiesta su uno dei seguenti valori:

  • Riuscite (SUCCEEDED)

  • Non riusciti (FAILED)

  • Annullato (CANCELLED)

Tuttavia, puoi eliminare immediatamente una richiesta di ridimensionamento prima di questa data, come descritto in questa sezione.

L'eliminazione di una richiesta di ridimensionamento riuscita non elimina le VM create tramite la richiesta. Il gruppo di istanze gestite elimina automaticamente le VM al termine della durata di esecuzione richiesta. Tuttavia, se l'esecuzione del job è terminata e non hai più bisogno delle VM, elimina le VM.

Per eliminare più di una richiesta di ridimensionamento alla volta, utilizza la console Google Cloud o gcloud CLI.

Console

Per eliminare le richieste di ridimensionamento in un gruppo di istanze gestite a livello di zona:

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

    Vai a Gruppi di istanze

  2. Nella colonna Nome, fai clic sul nome del gruppo di istanze gestite che contiene le richieste di ridimensionamento.

    Viene visualizzata la pagina Panoramica del gruppo di istanze gestite.

  3. Nella riga Richieste di ridimensionamento, fai clic su Modifica richieste di ridimensionamento.

    Viene visualizzato il riquadro Richieste di ridimensionamento.

  4. Seleziona le richieste di ridimensionamento da eliminare.

  5. Fai clic su Elimina, quindi fai clic su Conferma.

gcloud

Per eliminare le richieste di ridimensionamento in un gruppo di istanze gestite a livello di zona, utilizza il comando beta instance-groups managed resize-requests delete.

gcloud beta compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \
    --resize-requests=RESIZE_REQUEST_NAMES \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di un gruppo di istanze gestite di zona esistente con richieste di ridimensionamento riuscite, non riuscite o annullate.

  • RESIZE_REQUEST_NAMES: un elenco separato da virgole di nomi delle richieste di ridimensionamento da eliminare nel gruppo di istanze gestite. Ad esempio, specifica request-1,request-2.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

REST

Per eliminare una richiesta di ridimensionamento in un gruppo di istanze gestite a livello di zona, effettua una richiesta DELETE al metodo beta.instanceGroupManagerResizeRequests.delete.

DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova un gruppo di istanze gestite di zona esistente con richieste di ridimensionamento riuscite, non riuscite o annullate.

  • ZONE: la zona in cui si trova il gruppo di istanze gestite.

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze gestite.

  • RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento da eliminare.

Passaggi successivi