Risoluzione dei problemi relativi all'utilizzo 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 delle prenotazioni

Problema: anche se puoi visualizzare i dettagli di una prenotazione o monitorare il consumo delle prenotazioni per visualizzare quante delle sue VM prenotate vengono utilizzate e monitorare le modifiche a questo numero nel tempo, non puoi vedere 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 va a buon fine perché le proprietà non corrispondono o non sono presenti risorse prenotate disponibili.

Puoi anche creare una VM che ha come target una prenotazione specifica per verificare che sia configurata correttamente per utilizzare automaticamente una prenotazione corrispondente, quindi creare la VM per consumare 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 a quelle 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, come risolverli e come verificare l'utilizzo delle prenotazioni.

Proprietà VM non corrispondenti

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

Per identificare questo problema, seleziona uno dei seguenti metodi:

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

    1. Visualizza i dettagli della prenotazione che vuoi che la VM utilizzi 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 questo output disponibile.

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

      gcloud compute instances describe VM_NAME
      

      dove VM_NAME è il nome della VM.

      Mantieni questo output disponibile.

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

      • project
        • Se la prenotazione viene 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 dovrebbero 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 le istruzioni, consulta Verificare l'utilizzo della prenotazione.

Soluzione: aggiorna le proprietà delle VM che non corrispondono eseguendo una delle seguenti operazioni:

Per verificare se la VM utilizza la prenotazione, consulta Verificare l'utilizzo 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 hanno un criterio di posizionamento

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

Soluzione: se una prenotazione per 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 potrà 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 corrispondono.

Soluzione: se una prenotazione per 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 potrà utilizzare la prenotazione.

Per risolvere il problema, prova una delle seguenti operazioni:

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 verificare l'affinità di prenotazione della VM:

  1. Visualizza i dettagli della prenotazione che la VM deve utilizzare 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 utilizzando il comando gcloud compute instances describe.

       gcloud compute instances describe VM_NAME

    dove VM_NAME con il nome della VM.

    Nell'output, trova il campo reservationAffinity, che è 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, consulta Verificare l'utilizzo della prenotazione.

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

La prenotazione è già completamente utilizzata

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.

Risoluzione: puoi aumentare il numero di VM disponibili per il consumo per la prenotazione effettuando una delle seguenti operazioni:

Per verificare se la VM utilizza la prenotazione, consulta Verificare l'utilizzo della prenotazione.

Se la prenotazione non è completamente utilizzata, ma la VM non consuma la prenotazione, 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 ulteriori informazioni, vai alla sezione successiva.

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 l'utilizzo.

Soluzione: attendi qualche minuto per il completamento dell'operazione di arresto, sospensione o eliminazione sulle VM. Poi, per verificare che le VM arrestate, sospese o eliminate non siano più conteggiate nella prenotazione, controlla il numero totale di VM utilizzate nella prenotazione utilizzando uno dei seguenti metodi:

  • Consigliato: monitora la prenotazione e cerca un cambiamento nelle misurazioni della prenotazione.

  • Visualizza i dettagli della prenotazione e controlla 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 arresto, sospensione o eliminazione era in corso.

VM che consumano involontariamente prenotazioni

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

Risoluzione: puoi aiutare a controllare quali VM utilizzano le prenotazioni procedendo nel seguente modo:

Quota delle risorse superata

Problema: una prenotazione condivisa non viene utilizzata perché è stata superata una quota per una risorsa specifica.

Le prenotazioni condivise hanno un requisito aggiuntivo per quanto riguarda la quota. Il progetto proprietario deve disporre di una quota sufficiente per il doppio delle risorse riservate ai progetti consumer per poterle utilizzare.

Risoluzione: richiedi una quota aggiuntiva per la risorsa da utilizzare.