Resolver problemas comuns
Nesta página, mostramos como resolver problemas comuns com o GKE no Azure.
Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.Mensagens de erro comuns
As seções a seguir explicam as causas e as soluções de algumas mensagens de erro comuns.
O servidor não tem um recurso
Erros como error: the server doesn't have a resource type "services"
podem
acontecer quando um cluster não tem pools de nós em execução ou o gateway do Connect não
pode se conectar a um pool de nós. Para verificar o status dos pools de nós, execute o seguinte comando:
gcloud container azure node-pools list \
--cluster-name CLUSTER_NAME \
--location LOCATION
Substitua:
CLUSTER_NAME
: o nome do cluster.LOCATION
: o local do Google Cloud que gerencia o cluster
A saída inclui o status dos pools de nós do 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 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
É possível configurar mais usuários transmitindo a sinalização
--admin-users
ao criar um cluster.
Se você usa o gateway do Connect e não consegue se conectar ao cluster, siga estas etapas:
Consiga os usuários autorizados para o cluster.
gcloud container azure clusters describe CLUSTER_NAME \ --format 'value(authorization.admin_users)'
Substitua
CLUSTER_NAME
pelo nome do cluster.A saída inclui os nomes de usuário com acesso de administrador ao cluster. Exemplo:
{'username': 'administrator@example.com'}
Consiga o nome de usuário autenticado no momento com a Google Cloud CLI.
gcloud config get-value account
A saída inclui a conta autenticada com a Google Cloud CLI. Se as saídas de
gcloud containers azure clusters describe
egcloud config get-value account
forem diferentes, executegcloud auth login
e faça a autenticação com o nome de usuário que tem 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 com falha.
Comandos kubectl param de responder
Se o cluster executar uma versão do Kubernetes anterior à 1.25 e os comandos kubectl
não responderem ou expirarem, o motivo mais comum é você
ainda não ter criado um pool de nós. Por padrão, o GKE no Azure gera
arquivos kubeconfig
que usam o gateway do Connect como um endpoint acessível pela Internet.
Para que isso funcione, a implantação gke-connect-agent
precisa ser executada em um pool de nós no cluster.
Para 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
com um erro
404 cannot find active connections for cluster
.
Para clusters com a versão 1.25 ou posterior do Kubernetes, o gke-connect-agent
é executado no plano de controle e o pool de nós não é necessário. Se o comando kubectl
não responder, verifique os registros do componente do plano de controle com o
Cloud Logging.
Falha nos comandos kubectl exec, attach e port-forward
Os comandos kubectl exec
, kubectl attach
e kubectl port-forward
podem
apresentar falha com a mensagem error: unable to upgrade connection
ao usar
o gateway Connect. Essa é uma limitação ao usar o gateway do Connect como o
endpoint do servidor da API Kubernetes.
Para contornar esse problema, use um kubeconfig
que especifique o endpoint
particular do cluster. Para instruções sobre como acessar o cluster usando o
endpoint particular, consulte Configurar o acesso ao cluster para o kubectl.
Solução de problemas genérica do kubectl
Se você usar o gateway do Connect:
Verifique se você ativou o gateway do Connect no seu projeto do Google Cloud:
gcloud services enable connectgateway.googleapis.com
Para clusters com uma versão do Kubernetes anterior à 1.25, verifique se você tem pelo menos um pool de nós do Linux em execução e se o
gke-connect-agent
está em execução. Para mais detalhes, consulte Resolver problemas de conexões de cluster.Para clusters com a versão 1.25 ou posterior do Kubernetes, verifique os registros
gke-connect-agent
com o Cloud Logging.
A seguir
- Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.