Risoluzione dei problemi relativi al consumo delle prenotazioni

Questa pagina mostra come risolvere i problemi relativi all'utilizzo delle prenotazioni delle risorse di zona di Compute Engine.

Difficoltà a monitorare il consumo di prenotazione

Problema: anche se puoi visualizzare i dettagli di una prenotazione o monitorare il consumo delle prenotazioni per vedere quante delle sue VM prenotate vengono utilizzate e monitorare le modifiche di questo numero nel tempo, non puoi visualizzare direttamente quali VM utilizzano una prenotazione.

Soluzione: se riesci a creare correttamente una VM che ha come target una prenotazione specifica, la VM utilizza la prenotazione specificata nella proprietà di affinità (reservationAffinity) della VM. In caso contrario, la creazione della VM non riesce perché le proprietà non corrispondono o non sono disponibili risorse prenotate.

Puoi anche creare una VM che ha come target una prenotazione specifica per verificare che sia correttamente configurata per utilizzare automaticamente una prenotazione corrispondente, quindi crea la VM per utilizzare qualsiasi prenotazione corrispondente.

Problemi per le VM che non utilizzano le prenotazioni

Se una VM non può utilizzare una prenotazione, la causa potrebbe essere uno o più dei seguenti problemi:

  • Le proprietà della VM non corrispondono alle proprietà della prenotazione.
  • L'affinità di prenotazione della VM non è corretta.
  • La prenotazione è già completamente utilizzata da altre VM corrispondenti.
  • La quota per la risorsa è stata superata

Questa sezione descrive come identificare ciascuno di questi problemi, risolvere ciascuno di questi problemi e come verificare il consumo delle prenotazioni.

Proprietà VM non corrispondenti

Problema: una VM non può utilizzare una prenotazione con proprietà VM diverse.

Per identificare il problema, seleziona uno dei seguenti metodi:

  • Visualizza i dettagli della prenotazione e della VM e verifica manualmente che le relative proprietà VM corrispondano:

    1. Visualizza i dettagli della prenotazione che deve essere utilizzata dalla VM utilizzando il comando gcloud compute reservations describe:

      gcloud compute reservations describe RESERVATION_NAME --zone=ZONE
      

      Sostituisci quanto segue:

      • RESERVATION_NAME è il nome di una prenotazione.
      • ZONE è la zona in cui si trova la prenotazione.

      Mantieni disponibile questo output.

    2. Visualizza i dettagli della VM che vuoi utilizzare per il comando gcloud compute instances describe di prenotazione.

      gcloud compute instances describe VM_NAME
      

      dove VM_NAME è il nome della VM.

      Mantieni disponibile questo output.

    3. Utilizzando sia gli output della descrizione della VM che della descrizione della prenotazione, verifica che le seguenti proprietà corrispondano:

      • project
        • Se la prenotazione è condivisa con più progetti (se la prenotazione ha la proprietà shareType impostata su SPECIFIC_PROJECTS), il progetto della VM può corrispondere al progetto in cui si trova la prenotazione o a uno qualsiasi dei progetti elencati in shareSettings.
      • zone
      • machineType
      • guestAccelerators.acceleratorType
      • guestAccelerators.acceleratorCount
      • minCpuPlatform
        • La VM e la prenotazione devono avere la stessa configurazione di minCpuPlatform. Se specifichi un valore minCpuPlatform per uno dei due, entrambi devono avere lo stesso valore per quella proprietà. In caso contrario, sia la prenotazione che la VM devono omettere la proprietà. Ad esempio, l'impostazione di minCpuPlatform su "Intel Broadwell" durante la creazione di una VM non corrisponderà al valore minCpuPlatform di "Automatic" all'interno di una prenotazione.
      • localSsds.interface
        • La prenotazione e la VM devono avere lo stesso numero di SSD locali con una proprietà localSsds.interface corrispondente per ogni SSD locale.
      • resourcePolicies*

      * Solo se una prenotazione specifica un criterio di posizionamento compatto.

  • Creare una VM che ha come target una prenotazione specifica, che restituisce un errore se le proprietà non corrispondono. Per istruzioni, consulta Verificare il consumo tramite prenotazioni.

Soluzione: aggiorna eventuali proprietà VM non corrispondenti effettuando una delle seguenti operazioni:

Per verificare se la VM utilizza la prenotazione, vedi Verificare il consumo della prenotazione.

Se le proprietà della VM e della prenotazione corrispondono, ma la VM non utilizza la prenotazione, vai alla sezione successiva.

Le VM non presentano un criterio di posizionamento

Problema: una VM sta tentando di utilizzare una prenotazione senza specificare il criterio di posizionamento compatto della prenotazione.

Soluzione: se la prenotazione di un singolo progetto specifica un criterio di posizionamento compatto, una VM deve specificare esattamente lo stesso criterio di posizionamento compatto per utilizzare la prenotazione. In caso contrario, la VM non può utilizzare la prenotazione.

Per assicurarti che una VM utilizzi una prenotazione che specifica un criterio di posizionamento compatto, prova una delle seguenti opzioni:

Le VM specificano un criterio di posizionamento compatto diverso

Problema: una VM sta tentando di consumare una prenotazione, ma il criterio di posizionamento compatto specificato nella VM e nella prenotazione non corrisponde.

Soluzione: se la prenotazione di un singolo progetto specifica un criterio di posizionamento compatto, una VM deve specificare esattamente lo stesso criterio di posizionamento compatto per utilizzare la prenotazione. In caso contrario, la VM non può utilizzare la prenotazione.

Per risolvere il problema, prova una delle seguenti soluzioni:

L'affinità di prenotazione della VM non è corretta

Problema: l'affinità di prenotazione della VM non è configurata correttamente. L'affinità di prenotazione di una VM controlla le prenotazioni che una VM può utilizzare. Per controllare l'affinità di prenotazione della tua VM, segui questi passaggi:

  1. Visualizza i dettagli della prenotazione che vuoi che la VM utilizzi con il comando gcloud compute reservations describe.

      gcloud compute reservations describe RESERVATION_NAME --zone=ZONE

    Sostituisci quanto segue:

    • RESERVATION_NAME è il nome di una prenotazione.
    • ZONE è la zona in cui si trova la prenotazione.

    Nell'output, trova il valore del campo specificReservationRequired, true o false.

  2. Visualizza i dettagli della VM usando il comando gcloud compute instances describe.

       gcloud compute instances describe VM_NAME

    dove VM_NAME con il nome della VM.

    Nell'output, individua il campo reservationAffinity, simile al seguente:

    ...
       reservationAffinity:
         consumeReservationType: RESERVATION_AFFINITY
         key: compute.googleapis.com/reservation-name
         values:
         - RESERVATION_NAME
       ...

Soluzione: aggiorna la proprietà reservationAffinity della VM in modo che sia compatibile con il campo specificReservationRequired della prenotazione utilizzando una delle seguenti configurazioni accettate:

  1. Se il campo specificReservationRequired della prenotazione è true, la proprietà reservationAffinity della VM deve corrispondere a quanto segue:

    ...
      reservationAffinity:
        consumeReservationType: SPECIFIC_RESERVATION
        key: compute.googleapis.com/reservation-name
        values:
        - RESERVATION_NAME
      ...

    dove RESERVATION_NAME è il nome della prenotazione.

  2. Se il campo specificReservationRequired della prenotazione è false, la proprietà reservationAffinity della VM deve corrispondere a quanto segue:

    ...
      reservationAffinity:
        consumeReservationType: ANY_RESERVATION
      ...

Devi riavviare la VM per eseguire l'aggiornamento. Dopo l'aggiornamento, per verificare se la VM utilizza la prenotazione, vedi Verificare il consumo della prenotazione.

Se l'affinità di prenotazione della VM è configurata correttamente, ma la VM non utilizza prenotazioni, vai alla sezione successiva.

La prenotazione è già stata consumata completamente

Problema: il numero di VM attualmente in uso per questa prenotazione corrisponde al numero totale di VM prenotate della prenotazione.

Per identificare questo problema, visualizza i dettagli della prenotazione e verifica che il numero di VM in uso per questa prenotazione sia inferiore al numero totale di VM prenotate della prenotazione.

Soluzione: puoi aumentare il numero di VM disponibili da utilizzare per la prenotazione effettuando una delle seguenti operazioni:

Per verificare se la VM utilizza la prenotazione, vedi Verificare il consumo della prenotazione.

Se la prenotazione non è completamente consumata, ma la VM non la utilizza, puoi risolvere ulteriormente il problema creando una VM che ha come target una prenotazione specifica, che restituisce un errore se il consumo non riesce. Per saperne di più, vai alla sezione successiva.

Quota di risorse superata per le prenotazioni condivise

Problema: una VM non utilizza una prenotazione condivisa perché il progetto non dispone di quota sufficiente per le risorse che stai tentando di utilizzare.

Soluzione: le prenotazioni condivise hanno requisiti di quota aggiuntivi. Se hai bisogno di aumentare la quota nel tuo progetto per utilizzare le risorse prenotate, consulta Richiedere una quota superiore nella documentazione di Cloud Quotas.

Conteggio delle VM non ripristinato dopo l'arresto o l'eliminazione di una VM

Problema: se arresti, sospendi o elimini una VM che utilizza una prenotazione, l'operazione deve essere completata prima che la VM non venga più conteggiata ai fini della prenotazione e che le risorse utilizzate in precedenza siano di nuovo disponibili per il consumo.

Soluzione: attendi alcuni minuti per il completamento dell'operazione di interruzione, sospensione o eliminazione sulle VM. Per verificare che le VM arrestate, sospese o eliminate non siano più conteggiate ai fini della prenotazione, controlla il numero totale di VM consumate nella prenotazione utilizzando uno dei seguenti metodi:

  • Opzione consigliata: monitora la prenotazione e cerca un cambiamento nelle misure della prenotazione.

  • Visualizza i dettagli della prenotazione e verifica se il valore del campo inUseCount è diminuito. Se il valore non è diminuito, una o più VM hanno iniziato a utilizzare la prenotazione mentre l'operazione di interruzione, sospensione o eliminazione era in corso.

VM che consumano involontariamente le prenotazioni

Problema: quando crei prenotazioni che vengono utilizzate automaticamente (impostazione predefinita), le VM potrebbero utilizzare involontariamente queste prenotazioni.

Soluzione: puoi aiutare a controllare quali VM utilizzano le prenotazioni seguendo questi passaggi: