Fehlerbehebung bei Clustern, die in der GKE On-Prem API registriert sind

Auf dieser Seite erfahren Sie, wie Sie Probleme beim Erstellen eines Nutzerclusters in der Google Distributed Cloud in der Google Cloud Console untersuchen.

Die GKE On-Prem API ist eine von Google Cloud gehostete API, mit der Sie den Lebenszyklus Ihrer lokalen Cluster mithilfe von Terraform und Google Cloud-Standard-Tools verwalten können. Die GKE On-Prem API wird in der Infrastruktur von Google Cloud ausgeführt. Terraform, die Google Cloud Console und die Google Cloud CLI sind Clients der API. Sie verwenden die API, um Cluster in Ihrem Rechenzentrum zu erstellen, zu aktualisieren, upzugraden und zu löschen. Wenn Sie den Cluster mit einem Standardclient erstellt haben, wird er in der GKE On-Prem API registriert. Das bedeutet, dass Sie den Lebenszyklus des Clusters mit den Standardclients verwalten können (mit einigen Ausnahmen).

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.

Der Administratorcluster wird nicht in der Drop-down-Liste Clustergrundlagen angezeigt

Der Administratorcluster muss bei einer Flotte registriert sein, bevor Sie Nutzercluster in der Google Cloud Console erstellen können. Wenn Sie den Administratorcluster in der Drop-down-Liste im Abschnitt Clustergrundlagen der Google Cloud Console nicht sehen, wurde der Administratorcluster entweder gar nicht oder mit dem Befehl gcloud container fleet memberships register registriert. Mit diesem gcloud-Befehl werden Administratorcluster nicht ordnungsgemäß registriert.

Prüfen Sie den Registrierungsstatus:

  • Rufen Sie in der Google Cloud Console die Seite Kubernetes Engine > Cluster auf und wählen Sie das Google Cloud-Projekt aus, in dem Sie versucht haben, den Nutzercluster zu erstellen.

    Zur GKE-Clusterseite

    • Wenn der Administratorcluster nicht in der Liste angezeigt wird, finden Sie weitere Informationen unter Administratorcluster registrieren.

    • Wenn der Administratorcluster in der Liste angezeigt wird, bedeutet dies, dass der Cluster mit dem Befehl gcloud container hub memberships register registriert wurde. Mit diesem gcloud-Befehl werden Administratorcluster nicht ordnungsgemäß registriert.

So beheben Sie das Registrierungsproblem:

  1. Löschen Sie die Flottenmitgliedschaft des Administratorclusters.

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=global
    
    • ADMIN_CLUSTER_NAME: Der Name des Administratorclusters.
    • PROJECT_ID: Die ID Ihres Flotten-Hostprojekts. Dies ist das Projekt, das Sie beim Erstellen des Nutzerclusters in der Google Cloud Console ausgewählt haben.
  2. Führen Sie die Schritte unter Administratorcluster registrieren aus, um den Cluster noch einmal zu registrieren.

Fehler bei der Clustererstellung

In diesem Abschnitt werden einige Fehler beschrieben, die beim Erstellen von Clustern in der Google Cloud Console auftreten können.

Fehler „Ressource bereits vorhanden“

Die Erstellung eines Nutzerclusters schlägt mit einer Fehlermeldung wie der folgenden fehl:

Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826

Diese Fehlermeldung gibt an, dass der Clustername bereits verwendet wird.

Eine Möglichkeit zur Behebung dieses Problems ist, den Cluster zu löschen und neu zu erstellen:

  1. Löschen Sie den Cluster.
  2. Erstellen Sie den Cluster noch einmal mit einem anderen Namen, der nicht mit einem vorhandenen Cluster in Konflikt steht.

Anti-Affinitätsgruppen-Fehler

Die Erstellung eines Nutzerclusters schlägt mit einer Fehlermeldung wie der folgenden fehl:

- Validation Category: VCenter
    - [FATAL] Hosts for AntiAffinityGroups: Anti-affinity groups enabled with
    available vsphere host number 1 less than 3, please add more vsphere hosts
    or disable anti-affinity groups.

Die Anti-Affinitätsregeln von VMware Distributed Resource Scheduler (DRS) erfordern mindestens drei physische Hosts in Ihrer vSphere-Umgebung. Deaktivieren Sie zur Behebung des Problems Anti-Affinitätsgruppen im Abschnitt Features auf der Seite Clusterdetails für Ihren Cluster. Gehen Sie dazu so vor:

  1. Öffnen Sie in der Google Cloud Console die Seite zu den GKE-Clustern.

    Zur GKE-Clusterseite

  2. Wählen Sie das Google Cloud-Projekt aus, in dem sich der Nutzercluster befindet.

  3. Klicken Sie in der Clusterliste auf den Namen des Clusters und dann im Bereich Details auf Details ansehen.

  4. Klicken Sie im Abschnitt Features auf Bearbeiten.

  5. Deaktivieren Sie die Option Anti-Affinitätsgruppen aktivieren und klicken Sie auf Fertig.

  6. In der Google Cloud Console wird Clusterstatus: Änderungen in Bearbeitung angezeigt. Klicken Sie auf Details ansehen, um die Ressourcenstatusbedingung und Statusmeldungen aufzurufen.

Fehler durch in Konflikt stehende IP-Adressen

Die Erstellung eines Nutzerclusters schlägt mit einer Fehlermeldung wie der folgenden fehl:

- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
  cluster control plane VIP "10.251.133.132" overlaps with
  example-cluster1/control plane VIP "10.251.133.132"

Sie können keine Felder wie VIP der Steuerungsebene und Ingress-VIP im Abschnitt Load-Balancer der Seite Clusterdetails in der Google Cloud Console bearbeiten. Wenn Sie Probleme mit in Konflikt stehenden IP-Adressen beheben möchten, löschen Sie den Cluster und erstellen Sie ihn neu:

  1. Löschen Sie den Cluster.
  2. Erstellen Sie den Cluster noch einmal mit IP-Adressen, die nicht mit einem vorhandenen Cluster in Konflikt stehen.

Fehlerhafte Cluster entfernen

Ein Cluster kann aus vielen Gründen in einen fehlerhaften Zustand geraten, z. B.:

  • Verbindungsprobleme mit dem Connect-Agent oder der lokalen Umgebung
  • Der Administratorcluster für einen Nutzercluster wurde gelöscht oder es gibt Verbindungsprobleme zwischen dem Administrator- und dem Nutzercluster.
  • Die VM des Clusters wurde gelöscht, bevor der Cluster gelöscht wurde.

Wenn sich ein Cluster nicht über die Console löschen lässt, verwenden Sie die gcloud CLI, um Google Cloud-Ressourcen aus nicht betriebsbereiten Clustern zu löschen. Wenn Sie die gcloud CLI vor Kurzem nicht aktualisiert haben, führen Sie den folgenden Befehl aus, um die Komponenten zu aktualisieren:

gcloud components update

Löschen Sie als Nächstes die Google Cloud-Ressourcen.

Nutzercluster

  1. Löschen Sie den Nutzercluster:

    gcloud container vmware clusters delete USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --force \
      --allow-missing \
      --ignore-errors

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Name des Nutzerclusters, der gelöscht werden soll.

    • PROJECT_ID: die ID des Projekts, bei dem der Cluster registriert ist.

    • REGION: Der Google Cloud-Standort, der mit dem Nutzercluster verknüpft ist. Der Standort wird in der Console angezeigt.

      Mit dem Flag --force wird ein Cluster mit Knotenpools gelöscht. Ohne das --force-Flag müssen Sie zuerst die Knotenpools löschen und dann den Cluster.

      Mit dem Flag --allow-missing kann der Befehl fortgesetzt werden, wenn der Cluster nicht gefunden wird.

      Mit dem Flag --ignore-errors werden Google Cloud-Ressourcen entfernt, wenn der Administrator- und der Nutzercluster nicht erreichbar sind. Einige F5- oder vSphere-Ressourcen bleiben möglicherweise übrig. Informationen zum Bereinigen der verbleibenden Ressourcen finden Sie unter Ressourcen bereinigen.

      Mit diesem Befehl wird der Cluster gelöscht, falls er vorhanden ist, und sowohl die GKE On-Prem API-Ressourcen als auch die Ressourcen für die Flottenmitgliedschaft aus Google Cloud entfernt.

  2. Prüfen Sie, ob die GKE On-Prem API-Ressourcen gelöscht wurden:

    gcloud container vmware clusters list \
      --project=PROJECT_ID \
      --location=-

    Wenn Sie --location=- festlegen, bedeutet dies, dass alle Cluster in allen Regionen aufgelistet werden. Wenn Sie den Bereich in der Liste verkleinern möchten, legen Sie --location auf eine bestimmte Region fest.

  3. Prüfen Sie, ob die Ressourcen für die Fahrzeugmitgliedschaft gelöscht wurden:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Administratorcluster

  1. Wenn Sie den Administratorcluster in der GKE On-Prem API registriert haben, heben Sie die Registrierung auf:

    gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=REGION \
     --allow-missing 
    

    Ersetzen Sie Folgendes:

    • ADMIN_CLUSTER_NAME: Der Name des Administratorclusters.
    • PROJECT_ID: Die Projekt-ID des Hostprojekts der Flotte.
    • REGION: Die Google Cloud-Region.

    Mit dem Flag --allow-missing wird der Cluster abgemeldet, wenn die Flottenmitgliedschaft nicht gefunden wird.

    Mit diesem Befehl werden die GKE On-Prem API-Ressourcen aus Google Cloud entfernt.

  2. Entfernen Sie den Cluster aus der Flotte:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
     --project=PROJECT_ID \
     --location=global

    Mit diesem Befehl werden die Ressourcen für die Flottenmitgliedschaft aus Google Cloud entfernt.

  3. Prüfen Sie, ob die GKE On-Prem API-Ressourcen gelöscht wurden:

    gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
    

    Wenn Sie --location=- festlegen, bedeutet dies, dass alle Cluster in allen Regionen aufgelistet werden. Wenn Sie den Bereich in der Liste verkleinern möchten, legen Sie --location auf eine bestimmte Region fest.

  4. Prüfen Sie, ob die Ressourcen für die Fahrzeugmitgliedschaft gelöscht wurden:

    gcloud container fleet memberships list \
      --project=PROJECT_ID

Nächste Schritte

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.