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:Eine Anleitung dazu, wie Sie das Feature für Ihr Projekt aktivieren, finden 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 hat die folgenden zwei Abschnitte:
- membershipSpecsenthä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.
- membershipStateszeigt 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 zwei Cluster helloworld und foobar haben, die bei der Flotte registriert sind, 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- membershipSpecsangegebenen 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- membershipSpecsund- membershipStatesunterscheidet, 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- membershipSpecsund- membershipStatesidentisch ist, wurde GKE Identity Service richtig konfiguriert.
- Feld - stateist- ERROR: Dies weist darauf hin, dass bei der Konfiguration von GKE Identity Service im Cluster mit der unter- membershipSpecsangegebenen 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. Wenn Sie einen neuen Clustertyp anfordern möchten, wenden Sie sich an den Google Cloud-Support.
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 von GKE Identity Service auf Flottenebene unterstützt Folgendes:
Aktualisieren Sie die Konfiguration im Cluster, sodass sie 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 den 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 für mehrere Identitätsanbieter denselben name-Wert hat.
Fehlermeldung
Configuration contains multiple identity providers with the same name
Lösung
Benennen Sie doppelte Einträge in 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 spec/authentication-Abschnitt der Konfiguration kann höchstens eine Konfiguration vom Typ google enthalten.
Aktualisieren Sie die Konfiguration des Clusters so, dass er nicht mehr als eine Konfiguration vom Typ google hat. 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
Anhand der Details, die in ERROR_REASON angezeigt werden, können Sie dieses Problem 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
Anhand der Details, die in ERROR_REASON> angezeigt werden, können Sie dieses Problem 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 nach einigen Minuten automatisch behoben werden. Der GKE Identity Service-Pod wechselt dann in den Status running.