Fehlerbehebung für verwaltete Instanzgruppen


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:

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 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:

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:

  1. Optional: Leeren Sie die Back-End-Instanzgruppe.

  2. 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]
      
  3. 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.