Fehlerbehebung bei Einrichtungen auf Flottenebene

Dieses Dokument enthält Anleitungen zur Fehlerbehebung für Einrichtungen auf Flottenebene von GKE Identity Service.

Probleme bei der Einrichtung auf Flottenebene beheben

So beheben Sie Probleme, die beim Einrichten Ihrer Flotte auftreten können:

1. Prüfen, ob GKE Identity Service aktiviert ist

Führen Sie den folgenden Befehl aus, um zu prüfen, ob GKE Identity Service für Ihr Projekt aktiviert ist:

$ gcloud container fleet identity-service describe

Wenn keine Fehler angezeigt werden, ist GKE Identity Service aktiviert und Sie können mit der nächsten Anleitung fortfahren.

Fehler: Identity Service Feature for project <your-project-id> is not enabled

Wenn dieser Fehler angezeigt wird, wurde GKE Identity Service beim Einrichten des Features für Ihre Flotte nicht korrekt aktiviert.

Lösung: Wie Sie dafür sorgen, dass das Feature für Ihr Projekt aktiviert ist, erfahren Sie unter Cluster für GKE Identity Service konfigurieren.

2. Status des GKE Identity Service anzeigen

Führen Sie den folgenden Befehl aus, um den aktuellen Status von GKE Identity Service aufzurufen:

$ gcloud container fleet identity-service describe

Die Ausgabe dieses Befehls enthält die folgenden zwei Abschnitte:

  • membershipSpecs enthält die Konfiguration des Identitätsanbieters, die Sie für die einzelnen bei der Flotte registrierten Cluster angegeben haben. GKE Identity Service wird in den einzelnen Clustern mit diesen Konfigurationen konfiguriert.

  • membershipStates zeigt den aktuellen Status des GKE Identity Service in den einzelnen Clustern an, einschließlich der relevanten Konfiguration des Identitätsanbieters und aller Fehler, die während der Einrichtung aufgetreten sein mögen.

Um Probleme in einem Cluster zu beheben, suchen Sie unter membershipStates nach dem Cluster und prüfen folgende Felder:

  • state-Feld: membershipStates -> <cluster-identifier> -> identityservice -> state
  • failureReason-Feld: membershipStates -> <cluster-identifier> -> identityservice -> failureReason.

Beispiel

Wenn Sie die beiden Cluster helloworld und foobar bei der Flotte registriert haben, hat die Ausgabe die folgende Struktur:

Identity Service Feature:
  createTime: '222-11-10T23:05:6.146566392Z'
  membershipSpecs:
    projects/<your-project-number>/locations/<location>/memberships/helloworld:
      identityservice:
        authMethods:
        - name: oidc
          oidcConfig:
            clientId: id
            issuerUri: https://accounts.google.com
            ... other fields
    projects/<your-project-number>/locations/<location>/memberships/foobar:
      identityservice:
        authMethods:
        - name: oidc
          oidcConfig:
            clientId: id
            issuerUri: https://accounts.google.com
            ... other fields 
  membershipStates:
    projects/<your-project-number>/location/<location>/memberships/helloworld:
      identityservice:
        failureReason: AIS feature does not support this cluster type
        memberConfig:
          authMethods:
          - name: oidc
            oidcConfig:
              clientId: id
              issuerUri: https://accounts.google.com
              ... other fields
        state: ERROR
      state:
        code: OK
        updateTime: '2022-11-11T20:39:59.556176650Z'
    projects/<your-project-number>/location/<location>/memberships/foobar:
      identityservice:
        memberConfig:
          authMethods:
          - name: oidc
            oidcConfig:
              clientId: id
              issuerUri: https://accounts.google.com
              ... other fields
        state: OK
      state:
        code: OK
        updateTime: '2022-11-11T20:39:59.556176650Z'

  name: projects/<project-number>/locations/global/features/identityservice
  updateTime: '2022-11-11T20:40:31.859321901Z'

3. Clusterstatus prüfen

So prüfen Sie den Status von GKE Identity Service in einem Cluster:

  • state-Wert ist OK: Dies weist darauf hin, dass beim Konfigurieren von GKE Identity Service im Cluster mit der unter membershipSpecs angegebenen Konfiguration kein Fehler aufgetreten ist.

    Wenn sich die Konfiguration für den Cluster, für den Sie eine Fehlerbehebung durchführen (z. B. helloworld) in membershipSpecs und membershipStates unterscheidet, haben Sie wahrscheinlich die Konfiguration für den Cluster aktualisiert. Warten Sie einige Minuten, bis GKE Identity Service die Änderungen an den Cluster weitergegeben hat, und prüfen Sie den Status dann noch einmal.

    Wenn die Konfiguration für den Cluster, für den Sie eine Fehlerbehebung durchführen (z. B. helloworld) in membershipSpecs und membershipStates identisch ist, wurde GKE Identity Service richtig konfiguriert.

  • Das Feld state ist ERROR: Dies weist darauf hin, dass beim Konfigurieren von GKE Identity Service auf dem Cluster mit der unter membershipSpecs angegebenen Konfiguration Fehler aufgetreten sind.

    Informationen zur Behebung des Problems finden Sie unter Häufige Probleme beheben. Nachdem Sie die erforderlichen Schritte zur Fehlerbehebung durchgeführt haben, warten Sie einige Minuten und prüfen den Status dann noch einmal.

Häufige Probleme beheben

GKE Identity Service API ist nicht aktiviert

Dieses Problem tritt auf, wenn die GKE Identity Service API nicht aktiviert ist.

Fehlermeldung

anthosidentityservice.googleapis.com is not enabled

Lösung

Führen Sie den folgenden Befehl aus, um die API zu aktivieren:

$ gcloud services enable anthosidentityservice.googleapis.com

Nicht unterstützter Clustertyp

Dieses Problem tritt auf, wenn Sie einen nicht unterstützten Clustertyp verwenden.

Fehlermeldung

GKE Identity Service feature does not support this cluster type

Lösung

Informationen zu den unterstützten Clustertypen finden Sie unter Clustertypen. Bei neuen Clustertypanfragen können Sie sich auch an den Google Cloud-Support wenden.

Nicht unterstützte Protokolle in der Konfiguration

Dieses Problem tritt auf, wenn die Identitätskonfiguration, die Sie auf Ihren Cluster angewendet haben, nicht unterstützte Protokolle enthält.

Fehlermeldung

unsupported protocol found in configuration, aborting reconciliation.

Lösung

Die Einrichtung auf Flottenebene für GKE Identity Service unterstützt Folgendes:

Aktualisieren Sie die Konfiguration im Cluster so, dass er nur die oben unterstützten Protokolle enthält. Führen Sie den folgenden Befehl aus, um die Konfiguration zu bearbeiten:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default

Ersetzen Sie CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei für den Cluster. Wenn die kubeconfig mehrere Kontexte enthält, wird der aktuelle Kontext verwendet. Möglicherweise müssen Sie den aktuellen Kontext auf den richtigen Cluster zurücksetzen, bevor Sie den Befehl ausführen.

Cluster hat keine Identitätskonfiguration

Dieses Problem tritt auf, wenn keine Konfiguration auf Ihren Cluster angewendet wurde.

Fehlermeldung

Authentication configuration is not present for this membership

Lösung

Wenden Sie eine Identitätskonfiguration auf den Cluster an. Folgen Sie dazu der Anleitung unter Cluster konfigurieren.

IAM-Berechtigung für GKE-Hub-Administrator fehlt

Dieses Problem tritt auf, wenn Sie die Rolle gkehub.admin für das von Ihnen verwendete Projekt nicht haben.

Fehlermeldungen

PERMISSION_DENIED: Permission 'gkehub.memberships.list' denied on '`projects//locations//memberships`'
PERMISSION_DENIED: Permission 'gkehub.features.get' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.delete' denied on '`projects//locations/global/features/identityservice`'
PERMISSION_DENIED: Permission 'gkehub.features.create' denied on '`projects//locations/global/features/identityservice`'

Lösung

Ein Inhaber des Projekts mit der ID project_id muss folgenden Befehl ausführen:

gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin

Ersetzen Sie USER_ID durch Ihr Google-Konto.

Identitätskonfiguration enthält nicht eindeutige Identitätsanbieter

Dieses Problem tritt auf, wenn die GKE Identity Service-Konfiguration für einen Cluster denselben name-Wert für mehrere Identitätsanbieter hat.

Fehlermeldung

Configuration contains multiple identity providers with the same name

Lösung

Benennen Sie doppelte Einträge aus Ihrer Konfiguration um oder entfernen Sie sie.

In einer Identitätskonfiguration sind mehrere Anbieter des Typs google vorhanden

Dieses Problem tritt auf, wenn die ClientConfig mit mehreren Konfigurationen vom Typ google konfiguriert wurde.

Fehlermeldung

configuration contains multiple identity providers of type 'google'

Lösung

Der Abschnitt spec/authentication der Konfiguration kann höchstens eine Konfiguration vom Typ google enthalten.

Aktualisieren Sie die Konfiguration im Cluster so, dass er nicht mehr als eine Konfiguration vom Typ google enthält. Führen Sie den folgenden Befehl aus, um die Konfiguration zu bearbeiten:

kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default

Ersetzen Sie CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei für den Cluster. Wenn die kubeconfig mehrere Kontexte enthält, wird der aktuelle Kontext verwendet. Möglicherweise müssen Sie den aktuellen Kontext auf den richtigen Cluster zurücksetzen, bevor Sie den Befehl ausführen.

Fehler beim Abrufen der benutzerdefinierten Ressourcendefinition von ClientConfig

Dieses Problem tritt auf, wenn beim Abrufen der benutzerdefinierten Ressourcendefinition von ClientConfig aus dem Cluster ein Fehler auftritt.

Fehlermeldung

error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON

Lösung

Verwenden Sie die in ERROR_REASON angezeigten Details, um dieses Problem zu beheben.

Fehler beim Aktualisieren der ClientConfig von GKE Identity Service

Dieses Problem tritt auf, wenn beim Aktualisieren der ClientConfig im Cluster ein Fehler auftritt.

Fehlermeldung

Error updating AIS ClientConfig: ERROR_REASON

Lösung

Verwenden Sie die in ERROR_REASON> angezeigten Details, um dieses Problem zu beheben.

ClientConfig ist nicht auf dem Cluster vorhanden

Dieses Problem tritt auf, wenn die ClientConfig, die bei der Installation von GKE Identity Service erstellt werden sollte, nicht im Cluster vorhanden ist. Eine fehlende ClientConfig weist darauf hin, dass GKE Identity Service nicht korrekt auf dem Cluster installiert wurde.

Fehlermeldung

ClientConfig CR not present, expected to be created when AIS was installed

Lösung

Die GKE Identity Service-Ressourcen im Cluster wurden möglicherweise versehentlich gelöscht. Sie können versuchen, einen neuen Cluster zu erstellen. Wird im neuen Cluster derselbe Fehler angezeigt, wenden Sie sich an Ihren Clusteradministrator oder den Google Cloud-Support.

GKE Identity Service-Pod nicht gestartet

Dieses Problem tritt auf, wenn sich der GKE Identity Service-Pod im Status pending befindet.

Fehlermeldung

GKE Identity Service pod is not running (pending)

Lösung

Dieses Problem sollte innerhalb weniger Minuten automatisch behoben werden. Danach wechselt der GKE Identity Service-Pod in den Status running.