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, suivez ces instructions :
1. Vérifiez 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 aucune erreur ne s'affiche, GKE Identity Service est bien 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. Affichez l'état de GKE Identity Service
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
indique l'état actuel de GKE Identity Service dans chaque cluster, y compris la configuration du fournisseur d'identité concerné et les erreurs qui ont pu se produire lors de la configuration.
Pour résoudre les problèmes dans un cluster, recherchez le cluster et les champs suivants sous membershipStates
:
- Champ
state
:membershipStates -> <cluster-identifier> -> identityservice -> state
- Champ
failureReason
:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Exemple
Si deux clusters helloworld
et foobar
sont enregistrés dans le parc, le résultat 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érifiez 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
, il est probable que vous ayez mis à jour la configuration du cluster. Attendez quelques minutes que GKE Identity Service propage les modifications au cluster, puis vérifiez à nouveau l'état.Si la configuration du cluster que vous dépannez (par exemple,
helloworld
) est identique dansmembershipSpecs
etmembershipStates
, GKE Identity Service a été correctement configuré.Le champ
state
indiqueERROR
: 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 la section Résoudre les problèmes courants. Après avoir suivi les étapes de dépannage nécessaires, attendez quelques minutes, puis vérifiez à nouveau l'état.
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 en savoir plus sur les types de clusters compatibles, consultez la page Types de clusters ou contactez l'assistance Google Cloud pour les interroger le type des nouveaux 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 pour le 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 dispose pas d'une 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 portant 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 dans votre configuration.
Plusieurs fournisseurs de type google
sont présents dans une configuration d'identité
Ce problème se produit lorsque l'objet 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 n'y ait qu'une seule 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 pour le 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 ClientConfig
Ce problème se produit en cas d'erreur 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 détails affichés dans ERROR_REASON
pour résoudre ce problème.
Erreur lors de la mise à jour de l'objet ClientConfig de GKE Identity Service
Ce problème se produit en cas d'erreur lors de la mise à jour de l'objet ClientConfig dans le cluster.
Message d'erreur
Error updating AIS ClientConfig: ERROR_REASON
Solution
Utilisez les détails affichés dans ERROR_REASON>
pour résoudre ce problème.
Objet ClientConfig absent sur le cluster
Ce problème se produit lorsque l'objet ClientConfig, qui doit être créé lors de l'installation de GKE Identity Service, n'est pas présent sur le cluster. Un objet ClientConfig manquant 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 sur le cluster ont peut-être été supprimées accidentellement. Vous pouvez essayer de créer un nouveau cluster. Si vous voyez la même erreur 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
.