Solucionar problemas comuns
Esta página mostra como resolver problemas comuns com o GKE no Azure.
Se precisar de assistência adicional, entre em contato com o Atendimento ao Cliente da Cloud .Mensagens de erro comuns
As seções a seguir explicam as causas e soluções para algumas mensagens de erro comuns.
O servidor não possui um recurso
Erros como error: the server doesn't have a resource type "services"
podem ocorrer quando um cluster não possui pools de nós em execução ou quando o gateway Connect não consegue se conectar a um pool de nós. Para verificar o status dos seus pools de nós, execute o seguinte comando:
gcloud container azure node-pools list \
--cluster-name CLUSTER_NAME \
--location LOCATION
Substitua o seguinte:
-
CLUSTER_NAME
: nome do seu cluster -
LOCATION
: a Google Cloud local que gerencia seu cluster
A saída inclui o status dos pools de nós do seu cluster. Se você não tiver um pool de nós listado, crie um pool de nós .
Usuário proibido
O seguinte erro ocorre quando seu nome de usuário não tem acesso de administrador ao seu cluster:
Error from server (Forbidden): users "administrator@example.com" is forbidden:
User "system:serviceaccount:gke-connect:connect-agent-sa" cannot impersonate
resource "users" in API group "" at the cluster scope
Você pode configurar usuários adicionais passando o sinalizador --admin-users
ao criar um cluster.
Se você usa o gateway Connect e não consegue se conectar ao seu cluster, tente as seguintes etapas:
Obtenha os usuários autorizados para seu cluster.
gcloud container azure clusters describe CLUSTER_NAME \ --format 'value(authorization.admin_users)'
Substitua
CLUSTER_NAME
pelo nome do seu cluster.A saída inclui os nomes de usuário com acesso de administrador ao cluster. Por exemplo:
{'username': 'administrator@example.com'}
Obtenha o nome de usuário atualmente autenticado com o Google Cloud CLI.
gcloud config get-value account
A saída inclui a conta autenticada com o Google Cloud CLI. Se a saída de
gcloud containers azure clusters describe
egcloud config get-value account
não corresponder, executegcloud auth login
e autentique-se com o nome de usuário com acesso administrativo ao cluster.
Problemas com comandos kubectl
As seções a seguir fornecem orientações sobre como resolver problemas com comandos kubectl
que não respondem ou falham.
Os comandos kubectl param de responder
Se o seu cluster executa uma versão do Kubernetes anterior à 1.25 e os comandos kubectl
não respondem ou expiram, o motivo mais comum é que você ainda não criou um pool de nós. Por padrão, o GKE no Azure gera arquivos kubeconfig
que usam o gateway Connect como um ponto de extremidade acessível pela Internet. Para que isso funcione, a implantação gke-connect-agent
precisa estar em execução em um pool de nós no cluster.
Para obter mais informações de diagnóstico, execute o seguinte comando:
kubectl cluster-info -v=9
Se não houver pools de nós em execução, você verá solicitações para connectgateway.googleapis.com
falhando com um erro 404 cannot find active connections for cluster
".
Para clusters com Kubernetes versão 1.25 ou posterior, o gke-connect-agent
é executado no plano de controle e um pool de nós não é necessário. Se o comando kubectl
não responder, verifique os logs dos componentes do plano de controle com o Cloud Logging .
Os comandos kubectl exec, attach e port-forward falham
Os comandos kubectl exec
, kubectl attach
e kubectl port-forward
podem falhar com a mensagem error: unable to upgrade connection
ao usar o gateway Connect. Essa é uma limitação ao usar o gateway Connect como seu endpoint do Servidor de API do Kubernetes.
Para contornar isso, use um kubeconfig
que especifique o endpoint privado do cluster. Para obter instruções sobre como acessar o cluster por meio de seu endpoint privado, consulte Configurar acesso ao cluster para kubectl .
Solução de problemas genéricos do kubectl
Se você usar o gateway Connect:
Certifique-se de ter habilitado o gateway Connect em seu Google Cloud projeto:
gcloud services enable connectgateway.googleapis.com
Para clusters com uma versão do Kubernetes anterior à 1.25, certifique-se de ter pelo menos um pool de nós Linux em execução e que o
gke-connect-agent
esteja em execução. Para obter mais detalhes, consulte Solucionar problemas de conexões de cluster .Para clusters com uma versão do Kubernetes 1.25 ou posterior, verifique os logs
gke-connect-agent
com o Cloud Logging .
O que vem a seguir
- Se precisar de assistência adicional, entre em contato com o Atendimento ao Cliente da Cloud .