Résoudre les problèmes de configuration au niveau du parc
Ce document fournit des instructions de dépannage pour la configuration de GKE Identity Service au niveau du parc.
Résoudre les problèmes de configuration au niveau du parc
Pour résoudre les problèmes pouvant survenir lors de la configuration de votre parc, procédez comme suit:
1. Valider si GKE Identity Service est activé
Pour vérifier si GKE Identity Service est activé pour votre projet, exécutez la commande suivante:
$ gcloud container fleet identity-service describe
Si vous ne voyez aucune erreur, cela signifie que GKE Identity Service est activé et vous pouvez passer à l'instruction suivante.
Erreur:Identity Service Feature for project <your-project-id> is not enabled
Si cette erreur s'affiche, cela signifie que GKE Identity Service n'a pas été activé correctement pour votre parc lors de la configuration de la fonctionnalité.
Solution:Pour vous assurer que la fonctionnalité est activée pour votre projet, consultez les instructions de la section Configurer des clusters pour GKE Identity Service.
2. Afficher l'état du service d'identité GKE
Pour afficher l'état actuel de GKE Identity Service, exécutez la commande suivante:
$ gcloud container fleet identity-service describe
Le résultat de cette commande comporte les deux sections suivantes:
membershipSpecs
contient la configuration du fournisseur d'identité que vous avez spécifiée pour chaque cluster enregistré dans le parc. GKE Identity Service est configuré sur chaque cluster à l'aide de ces configurations.membershipStates
affiche l'état actuel de GKE Identity Service dans chaque cluster, y compris la configuration pertinente du fournisseur d'identité et les erreurs qui ont pu se produire lors de la configuration.
Pour résoudre les problèmes sur un cluster, sous membershipStates
, recherchez le cluster et recherchez les champs suivants:
- Champ
state
:membershipStates -> <cluster-identifier> -> identityservice -> state
- Champ
failureReason
:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Exemple
Si vous disposez de deux clusters helloworld
et foobar
enregistrés dans le parc, la sortie présente la structure suivante:
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. Vérifier l'état du cluster
Pour vérifier l'état de GKE Identity Service dans un cluster, vérifiez les points suivants:
La valeur
state
estOK
: cela indique qu'aucune erreur ne s'est produite lors de la configuration de GKE Identity Service sur le cluster avec la configuration spécifiée sousmembershipSpecs
.Si la configuration du cluster que vous dépannez (par exemple,
helloworld
) est différente dansmembershipSpecs
etmembershipStates
, vous avez probablement mis à jour la configuration du cluster. Attendez quelques minutes que GKE Identity Service propage les modifications au cluster, puis vérifiez l'état à nouveau.Si la configuration du cluster que vous dépannez (par exemple,
helloworld
) est identique dansmembershipSpecs
etmembershipStates
, cela signifie que GKE Identity Service a été configuré correctement.Le champ
state
estERROR
: cela indique que des erreurs se sont produites lors de la configuration de GKE Identity Service sur le cluster avec la configuration spécifiée sousmembershipSpecs
.Pour résoudre le problème, consultez Résoudre les problèmes courants. Après avoir suivi les étapes de dépannage nécessaires, patientez quelques minutes, puis vérifiez l'état à nouveau.
Résoudre les problèmes courants
API GKE Identity Service non activée
Ce problème se produit lorsque l'API GKE Identity Service n'est pas activée.
Message d'erreur
anthosidentityservice.googleapis.com is not enabled
Solution
Pour activer l'API, exécutez la commande suivante:
$ gcloud services enable anthosidentityservice.googleapis.com
Type de cluster non compatible
Ce problème se produit lorsque vous utilisez un type de cluster non compatible.
Message d'erreur
GKE Identity Service feature does not support this cluster type
Solution
Pour plus d'informations sur les types de clusters compatibles, consultez la page Types de clusters ou contactez l'assistance Google Cloud pour les requêtes de nouveaux types de clusters .
Protocoles non compatibles détectés dans la configuration
Ce problème se produit lorsque la configuration d'identité que vous avez appliquée à votre cluster contient des protocoles non compatibles.
Message d'erreur
unsupported protocol found in configuration, aborting reconciliation.
Solution
La configuration au niveau du parc pour GKE Identity Service est compatible avec les éléments suivants:
Mettez à jour la configuration sur le cluster afin qu'elle ne contienne que les protocoles compatibles ci-dessus. Pour modifier la configuration, exécutez la commande suivante:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Remplacez CLUSTER_KUBECONFIG
par le chemin d'accès au fichier kubeconfig du cluster. S'il existe plusieurs contextes dans le fichier kubeconfig, le contexte actuel est utilisé. Vous devrez peut-être réinitialiser le contexte actuel sur le cluster approprié avant d'exécuter la commande.
Le cluster ne possède pas de configuration d'identité
Ce problème se produit lorsqu'aucune configuration n'est appliquée à votre cluster.
Message d'erreur
Authentication configuration is not present for this membership
Solution
Appliquez une configuration d'identité au cluster en suivant les instructions de la section Configurer des clusters.
Autorisation IAM d'administrateur GKE Hub manquante
Ce problème se produit lorsque vous ne disposez pas du rôle gkehub.admin
pour le projet que vous utilisez.
Messages d'erreur
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`'
Solution
Un propriétaire du projet ayant l'ID project_id
doit exécuter la commande suivante:
gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin
Remplacez USER_ID
par votre compte Google.
Fournisseurs d'identité non uniques présents dans une configuration d'identité
Ce problème se produit lorsque la configuration GKE Identity Service d'un cluster a la même valeur name
pour plusieurs fournisseurs d'identité.
Message d'erreur
Configuration contains multiple identity providers with the same name
Solution
Renommez ou supprimez les entrées en double de votre configuration.
Plusieurs fournisseurs de type google
présents dans une configuration d'identité
Ce problème se produit lorsque ClientConfig est configuré avec plusieurs configurations de type google
.
Message d'erreur
configuration contains multiple identity providers of type 'google'
Solution
La section spec/authentication
de la configuration ne peut contenir qu'une seule configuration de type google
.
Mettez à jour la configuration sur le cluster afin qu'il ne comporte pas plus d'une configuration de type google
. Pour modifier la configuration, exécutez la commande suivante:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Remplacez CLUSTER_KUBECONFIG
par le chemin d'accès au fichier kubeconfig du cluster. S'il existe plusieurs contextes dans le fichier kubeconfig, le contexte actuel est utilisé. Vous devrez peut-être réinitialiser le contexte actuel sur le cluster approprié avant d'exécuter la commande.
Erreur lors de la récupération de la définition de ressource personnalisée du ClientConfig
Ce problème se produit lorsqu'une erreur se produit lors de la récupération de la définition de ressource personnalisée de ClientConfig à partir du cluster.
Message d'erreur
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Solution
Utilisez les informations affichées dans le ERROR_REASON
pour résoudre ce problème.
Erreur lors de la mise à jour de la configuration ClientConfig de GKE Identity Service
Ce problème se produit lorsqu'une erreur se produit lors de la mise à jour de ClientConfig dans le cluster.
Message d'erreur
Error updating AIS ClientConfig: ERROR_REASON
Solution
Utilisez les informations affichées dans le ERROR_REASON>
pour résoudre ce problème.
ClientConfig absent sur le cluster
Ce problème se produit lorsque ClientConfig, qui doit être créé lors de l'installation de GKE Identity Service, n'est pas présent sur le cluster. Une valeur ClientConfig manquante indique que GKE Identity Service n'a pas été correctement installé sur le cluster.
Message d'erreur
ClientConfig CR not present, expected to be created when AIS was installed
Solution
Les ressources GKE Identity Service du cluster ont peut-être été supprimées accidentellement. Vous pouvez essayer de créer un cluster. Si la même erreur s'affiche dans le nouveau cluster, contactez votre administrateur de cluster ou l'assistance Google Cloud.
Pod GKE Identity Service non démarré
Ce problème se produit lorsque le pod GKE Identity Service est à l'état pending
.
Message d'erreur
GKE Identity Service pod is not running (pending)
Solution
Ce problème devrait se résoudre automatiquement en quelques minutes, après quoi le pod GKE Identity Service passe à l'état running
.