Na versão 1.22 do Kubernetes, o projeto Kubernetes descontinuou o mecanismo de autenticação incorporado usado por clientes, como a ferramenta de linha de comandos kubectl
, para aceder ao servidor da API Kubernetes. O mecanismo de autenticação incorporado está
agendado para remoção no Kubernetes 1.26. Para contexto, consulte o
PR 102181 do GitHub.
A remoção não afeta os operadores implementados no cluster e que usam contas de serviço do Kubernetes para comunicar com o servidor da API.
O que deve fazer?
O GKE lançou um plugin de autenticação atualizado,
gke-gcloud-auth-plugin
. Este plug-in usa a framework de plug-ins de credenciais client-go para fornecer tokens de autenticação para comunicar com clusters do GKE.
Tem de instalar o plug-in antes de atualizar os clientes de linha de comandos para a versão 1.26 e posteriores. Se não instalar o plug-in, é apresentada uma mensagem de erro semelhante à seguinte.
Para ver instruções, consulte o artigo Instale os plug-ins necessários.
Erro de exemplo: No auth provider found
Unable to connect to the server: getting credentials: exec: executable gke-gcloud-auth-plugin not found
panic: no Auth Provider found for name gcp
Erro de exemplo: Executable gke-cloud-auth-plugin not found
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.