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 Ihre Instanzvorlage 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 das Größenlimit 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 Ihrer 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 das entsprechende Flag
--regionoder--zonean den Befehl an. - Legen Sie eine Standardregion und -zone fest.
Ressource wird von einem Backend-Dienst verwendet
Sie können eine Instanzgruppe nicht entfernen, wenn sie vom Backend-Dienst eines Load Balancers verwendet wird. Sie müssen die Instanz aus dem Backend-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: Back-End-Instanzgruppe leeren.
Nur für Proxy-Load-Balancer können Sie den Kapazitätsskalierer auf
0.0setzen, bevor Sie die Instanzgruppe aus einem Backend-Dienst entfernen. Mit dem Befehlgcloud compute backend-services editkö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 MIG 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 verwaltete Instanzgruppe 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.
Wenn Ihre MIG eine ungleichmäßige zonale Verteilung aufweist oder unerwartete Maschinentypen verwendet
Wenn Ihre regionale MIG oder MIG mit Instanzflexibilität betriebsbereit ist, Sie aber vermuten, dass Instanzen nicht wie erwartet auf Zonen verteilt sind oder dass die Gruppe auf Fallback-Maschinentypen zurückgreift, können Sie die tatsächliche Verteilung Ihrer erfolgreich bereitgestellten Instanzen überwachen.
Wenn Sie die Verteilung der Laufzeitinstanzen Ihrer MIG überwachen möchten, verwenden Sie das Dashboard GCE MIG Instance Distribution Monitoring (GCE-MIG-Instanzverteilung überwachen) in Cloud Monitoring. Dieses Dashboard ist ein Tool zur Beobachtung der Instanzverteilung. Es gibt keine Auskunft über die zugrunde liegenden Ursachen für Fehler beim Erstellen oder Kapazitätsbeschränkungen. Weitere Informationen zum Dashboard finden Sie unter Instanzverteilung in MIGs überwachen.
Wenn Logs zu nicht verfügbaren Artikeln für eine MIG mit Instanzflexibilität fehlen oder unerwartet angezeigt werden
Wenn Sie in Cloud Logging keine erwarteten Logs zu nicht verfügbaren Artikeln sehen oder sie unerwartet für eine MIG mit Instanzflexibilität angezeigt werden, prüfen Sie die folgenden Verhaltensweisen:
Übersprungene Ränge protokollieren keine Fehler bei nicht verfügbaren Artikeln: Bevor eine MIG VMs erstellt, wird die Kapazität für alle Instanzauswahlen geprüft. Wenn Maschinentypen mit höherer Priorität nicht verfügbar sind, werden sie von der MIG übersprungen und Instanzen werden mit verfügbaren Optionen mit niedrigerer Priorität bereitgestellt. Da Compute Engine
ZONE_RESOURCE_POOL_EXHAUSTED-Fehler nur protokolliert, wenn das Erstellen einer VM fehlschlägt, werden in Logging keine Fehler aufgrund von Engpässen für Maschinentypen mit höherer Priorität angezeigt, die bei Kapazitätsprüfungen übersprungen wurden.Bei der Reparatur von VMs können Fehlermeldungen zum Ausverkauf des ursprünglichen Maschinentyps protokolliert werden: Wenn Update während der Reparatur aktiviert ist, versucht eine MIG, eine ausgefallene VM mit dem ursprünglichen Maschinentyp neu zu erstellen, und prüft gleichzeitig die Verfügbarkeit alternativer Maschinentypen. Daher werden möglicherweise Fehler wegen nicht vorrätiger Artikel für den ursprünglichen Maschinentyp angezeigt, obwohl die MIG alternative Maschinentypen prüft oder verwendet.
Weitere Informationen finden Sie unter Kapazitätsbewertung und Fehlerprotokollierung.