En este documento se proporcionan instrucciones para solucionar problemas de la configuración a nivel de flota de GKE Identity Service.
Resolver problemas de configuración a nivel de flota
Para solucionar los problemas que puedan surgir al configurar tu flota, sigue estas instrucciones:
1. Validar si Identity Service de GKE está habilitado
Para validar si GKE Identity Service está habilitado en tu proyecto, ejecuta el siguiente comando:
$ gcloud container fleet identity-service describe
Si no ves ningún error, significa que GKE Identity Service está habilitado y puedes continuar con la siguiente instrucción.
Error:
Identity Service Feature for project <your-project-id> is not enabled
Si ves este error, significa que GKE Identity Service no se habilitó correctamente en tu flota al configurar la función.
Solución: Para asegurarte de que la función esté habilitada en tu proyecto, consulta las instrucciones de Configurar clústeres para GKE Identity Service.
2. Ver el estado de GKE Identity Service
Para ver el estado actual de GKE Identity Service, ejecuta el siguiente comando:
$ gcloud container fleet identity-service describe
El resultado de este comando tiene las dos secciones siguientes:
membershipSpecs
contiene la configuración del proveedor de identidades que ha especificado para cada clúster registrado en la flota. GKE Identity Service se configura en cada clúster mediante estas configuraciones.membershipStates
muestra el estado actual de GKE Identity Service en cada clúster, incluida la configuración del proveedor de identidades pertinente y los errores que se hayan podido producir durante la configuración.
Para solucionar problemas en un clúster, vaya a membershipStates
, busque el clúster y consulte los siguientes campos:
state
campo:membershipStates -> <cluster-identifier> -> identityservice -> state
failureReason
field:membershipStates -> <cluster-identifier> -> identityservice -> failureReason
.
Ejemplo
Si tienes dos clústeres, helloworld
y foobar
, registrados en la flota, la salida tendrá la siguiente estructura:
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. Verificar el estado del clúster
Para verificar el estado de Identity Service para GKE en un clúster, comprueba lo siguiente:
El valor de
state
esOK
: indica que no se ha producido ningún error al configurar el servicio de identidad de GKE en el clúster con la configuración especificada enmembershipSpecs
.Si la configuración del clúster con el que estás teniendo problemas (por ejemplo,
helloworld
) es diferente enmembershipSpecs
ymembershipStates
, es probable que hayas actualizado la configuración del clúster. Espera unos minutos a que Identity Service for GKE propague los cambios al clúster y vuelve a comprobar el estado.Si la configuración del clúster en el que estás solucionando problemas (por ejemplo,
helloworld
) es la misma enmembershipSpecs
ymembershipStates
, significa que GKE Identity Service se ha configurado correctamente.El campo
state
esERROR
: indica que se han producido errores al configurar GKE Identity Service en el clúster con la configuración especificada enmembershipSpecs
.Para solucionar el problema, consulta Solucionar problemas habituales. Después de seguir los pasos de solución de problemas necesarios, espera unos minutos y vuelve a comprobar el estado.
Solucionar problemas frecuentes
La API de GKE Identity Service no está habilitada
Este problema se produce cuando la API de servicio de identidad de GKE no está habilitada.
Mensaje de error
anthosidentityservice.googleapis.com is not enabled
Solución
Para habilitar la API, ejecuta el siguiente comando:
$ gcloud services enable anthosidentityservice.googleapis.com
Tipo de clúster no admitido
Este problema se produce cuando se usa un tipo de clúster no admitido.
Mensaje de error
GKE Identity Service feature does not support this cluster type
Solución
Para obtener información sobre los tipos de clúster admitidos, consulta Tipos de clúster o ponte en contacto con el equipo de Asistencia de Google Cloud si quieres solicitar un nuevo tipo de clúster .
Se han encontrado protocolos no admitidos en la configuración
Este problema se produce cuando la configuración de identidad que ha aplicado a su clúster contiene protocolos no admitidos.
Mensaje de error
unsupported protocol found in configuration, aborting reconciliation.
Solución
La configuración a nivel de flota de GKE Identity Service admite lo siguiente:
Actualiza la configuración del clúster para que solo contenga los protocolos admitidos mencionados anteriormente. Para editar la configuración, ejecuta el siguiente comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Sustituye CLUSTER_KUBECONFIG
por la ruta al archivo kubeconfig del clúster. Si hay varios contextos en el archivo kubeconfig, se usa el contexto actual. Es posible que tengas que restablecer el contexto actual al clúster correcto antes de ejecutar el comando.
El clúster no tiene una configuración de identidad
Este problema se produce cuando no se aplica ninguna configuración a su clúster.
Mensaje de error
Authentication configuration is not present for this membership
Solución
Aplica una configuración de identidad al clúster siguiendo las instrucciones de Configurar clústeres.
Falta el permiso de gestión de identidades y accesos de administrador de GKE Hub
Este problema se produce cuando no tienes el rol gkehub.admin
en el proyecto que estás usando.
Mensajes de error
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`'
Solución
Un propietario del proyecto con el ID project_id
debe ejecutar el siguiente comando:
gcloud projects add-iam-policy-binding project_id --member=user:USER_ID --role=roles/gkehub.admin
Sustituye USER_ID
por tu cuenta de Google.
Proveedores de identidades no únicos presentes en una configuración de identidad
Este problema se produce cuando la configuración de GKE Identity Service de un clúster tiene el mismo valor de name
para varios proveedores de identidades.
Mensaje de error
Configuration contains multiple identity providers with the same name
Solución
Cambia el nombre o elimina las entradas duplicadas de tu configuración.
Hay varios proveedores de tipo google
en una configuración de identidad
Este problema se produce cuando ClientConfig se configura con varias configuraciones de tipo google
.
Mensaje de error
configuration contains multiple identity providers of type 'google'
Solución
La sección spec/authentication
de la configuración puede contener como máximo una configuración de tipo google
.
Actualiza la configuración del clúster para que no tenga más de una configuración de tipo google
. Para editar la configuración, ejecuta el siguiente comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n kube-public edit clientconfig default
Sustituye CLUSTER_KUBECONFIG
por la ruta al archivo kubeconfig del clúster. Si hay varios contextos en el archivo kubeconfig, se usa el contexto actual. Es posible que tengas que restablecer el contexto actual al clúster correcto antes de ejecutar el comando.
Error al obtener la definición de recurso personalizado de ClientConfig
Este problema se produce cuando se produce un error al obtener la definición de recurso personalizado de ClientConfig del clúster.
Mensaje de error
error fetching the ClientConfig's Custom Resource Definition: ERROR_REASON
Solución
Utiliza los detalles que se muestran en ERROR_REASON
para resolver este problema.
Error al actualizar el ClientConfig de GKE Identity Service
Este problema se produce cuando hay un error al actualizar ClientConfig en el clúster.
Mensaje de error
Error updating AIS ClientConfig: ERROR_REASON
Solución
Utiliza los detalles que se muestran en ERROR_REASON>
para resolver este problema.
ClientConfig no está presente en el clúster
Este problema se produce cuando ClientConfig, que se debe crear al instalar GKE Identity Service, no está presente en el clúster. Si falta un ClientConfig, significa que GKE Identity Service no se ha instalado correctamente en el clúster.
Mensaje de error
ClientConfig CR not present, expected to be created when AIS was installed
Solución
Es posible que los recursos de GKE Identity Service del clúster se hayan eliminado por error. Puedes intentar crear otro clúster. Si aparece el mismo error en el nuevo clúster, ponte en contacto con el administrador del clúster o con el equipo de Asistencia de Google Cloud.
El pod del servicio de identidad de GKE no se ha iniciado
Este problema se produce cuando el pod de Identity Service de GKE está en estado pending
.
Mensaje de error
GKE Identity Service pod is not running (pending)
Solución
Este problema debería resolverse automáticamente en unos minutos. Después, el pod de Identity Service para GKE cambiará al estado running
.