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

  • 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 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 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.

  • Feld state ist ERROR: Dies weist darauf hin, dass bei der Konfiguration von GKE Identity Service im 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. 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.