Visualizzare, annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite

Questo documento descrive come effettuare le seguenti operazioni 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 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

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) per il 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 le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:

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 essere in grado di 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, come gli stati, il numero richiesto di VM e la 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.

    Si apre la pagina di 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 a livello 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.

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 a livello 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 a livello di zona esistente 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"
}

Visualizzare 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 relativi alla richiesta se non è ancora andata a buon fine.

Per capire perché una richiesta di ridimensionamento (ACCEPTED) non ha esito positivo, 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: il progetto non ha una quota per le risorse richieste. Per aumentare la quota del progetto, consulta Richiedere una quota più alta.

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 a livello 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, invia 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 a livello 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 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 consentire a Compute Engine di eliminarla 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.

    Si apre la pagina di 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 e poi 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 a livello 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 a livello 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:

  • Riusciti (SUCCEEDED)

  • Non riuscite (FAILED)

  • Annullati (CANCELLED)

Tuttavia, puoi eliminare una richiesta di ridimensionamento immediatamente 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, 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.

    Si apre la pagina di 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 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 a livello di zona esistente con richieste di ridimensionamento riuscite, non riuscite o annullate.

  • RESIZE_REQUEST_NAMES: un elenco separato da virgole di nomi di 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 a livello 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