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:

  1. 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'}
    
  2. 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 e gcloud config get-value account não corresponder, execute gcloud 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