Esistono diversi problemi che possono impedire a un gruppo di istanze gestite (MIG) di creare o ricreare correttamente un'istanza VM.
Se vengono generati log per un MIG eliminato
Il problema potrebbe essere correlato alle seguenti situazioni.
Il gestore della scalabilità automatica collegato è ancora esistente
Se hai eliminato un MIG utilizzando l'API Compute Engine e non hai inviato una richiesta distinta per eliminare il gestore della scalabilità automatica collegato, in Esplora log potrebbero essere visualizzati log con il seguente messaggio.
The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.
Risoluzione:
Per risolvere il problema, elimina il gestore della scalabilità automatica collegato utilizzando i metodi dell'API Compute Engine:
- Per un gestore della scalabilità automatica di un MIG a livello di zona, utilizza il metodo
autoscalers.delete
. - Per un gestore della scalabilità automatica di un MIG a livello di regione, utilizza il metodo
regionAutoscalers.delete
.
Se il MIG non riesce a creare o ricreare istanze
Il problema potrebbe essere correlato alle seguenti situazioni.
Il disco di avvio esiste già
Per impostazione predefinita, quando crei un'istanza viene creato un nuovo disco permanente di avvio.
Il nome del disco di avvio corrisponde al nome della VM. Se assegni il nome my-instance
a una VM,
il disco avrà allo stesso modo il nome my-instance
. Se esiste già un disco permanente
con questo nome, la richiesta non va a buon fine. Per risolvere il problema, facoltativamente puoi eseguire uno snapshot ed eliminare il disco permanente esistente.
Il template di istanza non è valido
Se hai aggiornato di recente il template di istanza, potrebbe esserci una proprietà non valida che causa l'errore della creazione della VM da parte del MIG. Esamina le proprietà per rilevare questi errori comuni:
- Hai specificato una risorsa che non esiste, ad esempio un'immagine di origine.
- Hai scritto in modo errato il nome di una risorsa.
- Hai provato a collegare un disco permanente non di avvio esistente in modalità di lettura/scrittura, ma il gruppo contiene più di una VM. Per i gruppi con più di una VM, tutti i dischi aggiuntivi che vuoi condividere tra tutte le VM del gruppo possono essere collegati esclusivamente in modalità di sola lettura.
Limite superato per il tipo di risorsa
Il seguente errore si verifica quando si tenta di creare più di 2.000 VM in un MIG regionale o più di 1.000 VM in un MIG a livello di zona. Hai raggiunto il limite di dimensione per il gruppo di istanze.
Messaggio di errore:
ERROR: (gcloud.compute.<INSTANCE_GROUP_TYPE>.<METHOD>) Could not fetch resource: - Exceeded limit 'MAX_INSTANCES_IN_INSTANCE_GROUP' on resource 'PROJECT_ID'. Limit: NUMBER
Risoluzione:
Per risolvere il problema, prova una delle seguenti soluzioni:
- Se utilizzi un MIG a livello di zona, utilizza invece un MIG a livello di regione.
- Crea più MIG e suddividi il workload tra di loro, ad esempio modificando la configurazione del bilanciamento del carico.
- Se hai ancora bisogno di un gruppo più grande, puoi aumentare il limite di dimensioni del tuo MIG o contattare l'assistenza per effettuare una richiesta.
Se non riesci a eliminare il MIG o le relative istanze
Il problema potrebbe essere correlato alla seguente situazione.
Risorsa non trovata nella zona o nella regione
Il seguente errore si verifica quando provi a eliminare un MIG a livello di regione e specifichi
il flag --zone
, non specifichi alcuna regione o specifichi la regione sbagliata.
Un errore simile può verificarsi se provi a eliminare un MIG di zona e specifichi
il flag --region
.
Messaggio di errore:
ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed: ‐ The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed: ‐ The resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
Risoluzione:
Per risolvere il problema, prova una delle seguenti soluzioni:
- Aggiungi il flag
--region
o--zone
appropriato al comando - Imposta un'area geografica e una zona predefinite
La risorsa è utilizzata da un servizio di backend
Non puoi rimuovere un gruppo di istanze se viene utilizzato dal servizio di backend di un bilanciatore del carico. Devi rimuovere l'istanza dal servizio di backend prima di poter eliminare il gruppo di istanze.
Messaggio di errore:
ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed: ‐ The instance_group_manager resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE
ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed: ‐ The instance_group_manager resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE
Risoluzione:
(Facoltativo) Svuota il gruppo di istanze di backend.
Per i soli bilanciatori del carico proxy, puoi impostare il gestore della scalabilità della capacità su
0.0
prima di rimuovere il gruppo di istanze da un servizio di backend. Puoi impostare il gestore della scalabilità della capacità su zero utilizzando il comandogcloud compute backend-services edit
.Per i bilanciatori del carico proxy e pass-through, se attivi lo svuotamento delle connessioni sul servizio di backend, Google Cloud tenta di consentire alle connessioni esistenti il mantenimento, il completamento e lo svuotamento ogni volta che un gruppo di istanze viene rimosso da un servizio backend.
Rimuovi il MIG dal servizio di backend regionale o globale.
Per un MIG a livello di zona, esegui il seguente comando:
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=ZONE \ [--region=REGION | --global]
Per un MIG a livello di regione, esegui il seguente comando:
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-region=REGION \ [--region=REGION | --global]
Elimina il MIG:
gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
Se il MIG tenta continuamente di ricreare istanze
Il problema potrebbe essere correlato alla seguente situazione.
I probe di controllo di integrità non riescono a raggiungere l'istanza
Se hai configurato una policy di ripristino automatico, ma non hai configurato o hai configurato erroneamente la regola firewall che consente ai probe del controllo di integrità di raggiungere la tua applicazione, le tue VM sembrano non essere in stato integro e il MIG tenta continuamente di ricrearle. Per informazioni su come configurare una regola firewall per il controllo di integrità, consulta Esempio di configurazione del controllo di integrità.