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 gruppo di istanze gestite eliminato
Il problema potrebbe essere correlato alle seguenti situazioni.
Il gestore della scalabilità automatica collegato esiste ancora
Se hai eliminato un gruppo di istanze gestite 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 l'autoscaler collegato utilizzando i metodi dell'API Compute Engine:
- Per un gestore della scalabilità automatica di un gruppo di istanze gestite a livello di zona, utilizza il metodo
autoscalers.delete
. - Per un gestore della scalabilità automatica di un gruppo di istanze gestite 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à lo stesso nome.my-instance
Se esiste già un disco permanente con questo nome, la richiesta non va a buon fine. Per risolvere il problema, se vuoi puoi eseguire uno snapshot ed eliminare il disco permanente esistente.
Il modello di istanza non è valido
Se hai aggiornato di recente il modello di istanza, potrebbe esserci una proprietà non valida che causa il fallimento della creazione della VM nel MIG. Esamina le proprietà per rilevare questi errori comuni:
- Hai specificato una risorsa che non esiste, ad esempio un'immagine di origine.
- Hai scritto male il nome di una risorsa.
- Hai provato a collegare un disco permanente non di avvio esistente in modalità di lettura/scrittura, ma il tuo 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 solo in modalità di sola lettura.
Limite superato per il tipo di risorsa
Il seguente errore si verifica quando si tenta di creare più di 2000 VM in un gruppo di istanze gestite regionale o più di 1000 VM in un gruppo di istanze gestite 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 gruppo di istanze gestite a livello di zona, utilizza invece un gruppo di istanze gestite a livello di regione.
- Crea più MIG e suddividi il carico di lavoro 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 gruppo di istanze gestite o contattare l'assistenza per effettuare una richiesta.
Se non riesci a eliminare il gruppo di istanze gestite 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 gruppo di istanze gestite 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 gruppo di istanze gestite zonale 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 - Impostare una regione e una zona predefinite
La risorsa viene 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) Scarica il gruppo di istanza di backend.
Solo per i bilanciatori del carico proxy, puoi impostare lo scalatore della capacità su
0.0
prima di rimuovere il gruppo di istanze da un servizio di backend. Puoi impostare lo scalare della capacità su zero utilizzando il comandogcloud compute backend-services edit
.Per i bilanciatori del carico proxy e pass-through, se attivi lo scarico delle connessioni sul servizio di backend, Google Cloud tenta di consentire alle connessioni esistenti di persistere, completarsi e scaricarsi ogni volta che un gruppo di istanze viene rimosso da un servizio di backend.
Rimuovi il gruppo di istanze gestite dal servizio di backend regionale o globale.
Per un MIG zonale, 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 gruppo di istanze gestite regionale, 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 gruppo di istanze gestite:
gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
Se il gruppo di istanze gestite tenta continuamente di ricreare istanze
Il problema potrebbe essere correlato alla seguente situazione.
I probe del controllo di integrità non riescono a raggiungere l'istanza
Se hai configurato un criterio di riparazione automatica, 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 di integrità e il gruppo di istanze gestite 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à.