Verschiedene Probleme können verhindern, dass eine verwaltete Instanzgruppe (Managed Instance Group, MIG) eine VM-Instanz erstellen oder neu erstellen kann.
Wenn Logs für eine gelöschte MIG generiert werden
Das Problem kann auf Folgendes zurückzuführen sein.
Angehängtes Autoscaling ist noch vorhanden
Wenn Sie eine MIG mit der Compute Engine API gelöscht und keine separate Anfrage zum Löschen des angehängten Autoscalings gesendet haben, zeigt der Log-Explorer möglicherweise Logs mit der folgenden Meldung an.
The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.
Lösung:
Löschen Sie das angehängte Autoscaling mit den Compute Engine API-Methoden, um dieses Problem zu beheben:
- Verwenden Sie für das Autoscaling einer zonalen MIG die Methode
autoscalers.delete
. - Verwenden Sie für das Autoscaling einer regionalen MIG die Methode
regionAutoscalers.delete
.
Wenn Ihre MIG keine Instanzen erstellen oder neu erstellen kann
Das Problem kann auf Folgendes zurückzuführen sein.
Das Bootlaufwerk ist bereits vorhanden
Standardmäßig wird ein neuer nichtflüchtiger Speicher mit Startfunktion erstellt, wenn Sie eine Instanz erstellen.
Der Name des Bootlaufwerks entspricht dem Namen der VM. Wenn Sie eine VM my-instance
benennen, heißt das Laufwerk ebenfalls my-instance
. Wenn schon ein nichtflüchtiges Laufwerk mit diesem Namen vorhanden ist, schlägt die Anfrage fehl. Zur Behebung dieses Problems können Sie einen Snapshot erstellen und anschließend das vorhandene nichtflüchtige Laufwerk löschen.
Die Instanzvorlage ist ungültig
Wenn Sie sie vor Kurzem aktualisiert haben, enthält sie vielleicht ein ungültiges Attribut, das die MIG daran hindert, VMs zu erstellen. Prüfen Sie die Attribute auf häufige Fehler:
- eine Ressource, die nicht existiert, zum Beispiel ein Quell-Image
- ein Ressourcenname, der falsch geschrieben wurde
- Sie haben versucht, ein vorhandenes nichtflüchtiges Laufwerk ohne Bootfunktion im Lese-/Schreibmodus anzuhängen, aber Ihre Gruppe enthält mehr als eine VM. Bei Gruppen mit mehreren VMs können weitere Laufwerke, die Sie für alle VMs in der Gruppe freigeben möchten, nur im schreibgeschützten Modus angehängt werden.
Limit für Ressourcentyp überschritten
Der folgende Fehler tritt auf,wenn Sie versuchen,mehr als 2.000 VMs in einer regionalen MIG oder mehr als 1.000 VMs in einer zonalen MIG zu erstellen. Sie haben die Größenbeschränkung für Ihre Instanzgruppe erreicht.
Fehlermeldung:
ERROR: (gcloud.compute.<INSTANCE_GROUP_TYPE>.<METHOD>) Could not fetch resource: - Exceeded limit 'MAX_INSTANCES_IN_INSTANCE_GROUP' on resource 'PROJECT_ID'. Limit: NUMBER
Lösung:
Führen Sie einen der folgenden Schritte aus, um dieses Problem zu beheben:
- Wenn Sie eine zonale MIG nutzen, verwenden Sie stattdessen eine regionale MIG.
- Erstellen Sie mehrere MIGs und teilen Sie Ihre Arbeitslast auf diese auf, indem Sie beispielsweise die Load-Balancing-Konfiguration anpassen.
- Wenn Sie dennoch eine größere Gruppe benötigen, können Sie die Größenbeschränkung für die MIG erhöhen oder den Support kontaktieren.
Wenn Sie Ihre MIG oder deren Instanzen nicht löschen können
Möglicherweise ist das Problem auf die Folgendes zurückzuführen.
Ressource in Zone oder Region nicht gefunden
Der folgende Fehler tritt auf, wenn Sie versuchen, eine regionale MIG zu löschen und Sie das Flag --zone
, keine Region oder die falsche Region angeben.
Ein ähnlicher Fehler kann auftreten, wenn Sie versuchen, eine zonale MIG zu löschen und das Flag --region
angeben.
Fehlermeldung:
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
Lösung:
Führen Sie einen der folgenden Schritte aus, um dieses Problem zu beheben:
- Hängen Sie dem Befehl das entsprechende Flag
--region
oder--zone
an. - Legen Sie eine Standardregion und -zone fest.
Ressource wird von einem Back-End-Dienst verwendet
Sie können eine Instanzgruppe nicht entfernen, wenn sie vom Back-End-Dienst eines Load Balancers verwendet wird. Sie müssen die Instanz aus dem Back-End-Dienst entfernen, bevor Sie die Instanzgruppe löschen können.
Fehlermeldung:
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
Lösung:
Optional: Leeren Sie die Back-End-Instanzgruppe.
Nur für Proxy-Load Balancer: Sie können den Kapazitätsskalierer auf
0.0
setzen, bevor Sie die Instanzgruppe aus einem Back-End-Dienst entfernen. Mit dem Befehlgcloud compute backend-services edit
können Sie den Kapazitätsskalierer auf null setzen.Wenn Sie beim Backend-Dienst sowohl den Proxy als auch den Passthrough-Load-Balancer aktivieren, versucht Google Cloud, vorhandene Verbindungen zuzulassen, bestehen und zu beenden, wenn eine Instanzgruppe aus einem Backend-Dienst entfernt wird.
Entfernen Sie die MIG aus dem regionalen oder globalen Backend-Dienst.
Führen Sie für eine zonale verwaltete Instanzgruppe den folgenden Befehl aus:
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=ZONE \ [--region=REGION | --global]
Führen Sie für eine regionale MIG den folgenden Befehl aus:
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-region=REGION \ [--region=REGION | --global]
Löschen Sie die MIG:
gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
Wenn Ihre MIG immer wieder versucht, Instanzen neu zu erstellen
Möglicherweise ist das Problem auf die Folgendes zurückzuführen.
Systemdiagnoseprüfungen können die Instanz nicht erreichen
Wenn Sie eine Richtlinie für die automatische Reparatur konfiguriert haben, aber die Firewallregel, mit der die Systemdiagnosetests Ihre Anwendung erreichen, nicht konfiguriert (oder falsch konfiguriert) haben, werden Ihre VMs als fehlerhaft eingestuft. Die MIG versucht dann kontinuierlich, die VMs neu zu erstellen. Informationen zum Konfigurieren einer Firewallregel für die Systemdiagnose finden Sie unter Beispiel zum Einrichten einer Systemdiagnose.