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 istOK
: Dies weist darauf hin, dass beim Konfigurieren von GKE Identity Service im Cluster mit der untermembershipSpecs
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
) inmembershipSpecs
undmembershipStates
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
) inmembershipSpecs
undmembershipStates
identisch ist, wurde GKE Identity Service richtig konfiguriert.Das Feld
state
istERROR
: Dies weist darauf hin, dass beim Konfigurieren von GKE Identity Service auf dem Cluster mit der untermembershipSpecs
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
.