Complemento de autenticación obsoleto para clientes de Kubernetes


En la versión 1.22 de Kubernetes, el proyecto de Kubernetes hizo que dejara de estar disponible el mecanismo de autenticación integrado que usan los clientes, como la herramienta de línea de comandos de kubectl para acceder al servidor de la API de Kubernetes. El mecanismo de autenticación integrado está programado para quitarse en Kubernetes 1.26. Para obtener contexto, consulta la solicitud de extracción de GitHub 102181.

La eliminación no afecta a los operadores que se implementan en el clúster y usan las cuentas de servicio de Kubernetes para comunicarse con el servidor de la API.

¿Qué deberías hacer?

GKE lanzó un complemento de autenticación actualizado, gke-gcloud-auth-plugin. Este complemento usa el framework de complementos de credenciales de client-go para proporcionar tokens de autenticación a fin de comunicarse con clústeres de GKE.

Debes instalar el complemento antes de actualizar tus clientes de línea de comandos a la versión 1.26 y posteriores. Si no lo instalas, verás un mensaje de error similar al siguiente.

Para obtener instrucciones, consulta Instala los complementos obligatorios.

Ejemplo de error: No se encontró ningún proveedor de autenticación

Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found

panic: no Auth Provider found for name gcp

Error de ejemplo: No se encontró gke-cloud-auth-plugin ejecutable.

Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found

It looks like you are trying to use a client-go credential plugin that is not installed.

To learn more about this feature, consult the documentation available at:
      https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins

Install gke-gcloud-auth-plugin for use with kubectl by following \
https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke.