Configurar acesso ao cluster para kubectl

Esta página explica como configurar o acesso ao cluster para a ferramenta de linha de comando kubectl para GKE na AWS.

Esta página é para administradores e operadores de TI que desejam configurar, monitorar e gerenciar a infraestrutura de nuvem. Para saber mais sobre funções comuns e tarefas de exemplo que mencionamos em Google Cloud conteúdo, consulte Funções e tarefas comuns do usuário do GKE Enterprise .

Visão geral

Para acessar seu GKE na AWS, você precisa configurar kubectl . Você pode definir um cluster padrão para kubectl definindo o contexto atual no arquivo kubeconfig do Kubernetes. Além disso, você pode executar comandos kubectl em um cluster específico usando a flag --cluster .

Para obter mais informações sobre kubeconfig e endpoints de cluster, consulte Sobre o Kubeconfig .

Antes de começar

Se você usar o gateway Connect para acesso kubectl , deverá conceder aos usuários administradores que não são proprietários do projeto as funções do IAM descritas em Usar kubectl com identidade da CLI do gcloud .

Verifique o kubeconfig atual

Esta seção explica como verificar seu kubeconfig atual.

Exibir contextos do kubeconfig

Para visualizar kubeconfig do seu ambiente e todos os contextos que ele contém, execute o seguinte comando:

kubectl config view

O comando retorna uma lista de todos os clusters para os quais as entradas kubeconfig foram geradas. Se um cluster do GKE na AWS estiver listado, você poderá executar comandos kubectl nele no seu ambiente atual. Caso contrário, você precisará gerar uma entrada kubeconfig para o cluster.

Veja o contexto atual para kubectl

Para visualizar o contexto atual usado pela ferramenta de linha de comando kubectl, execute o seguinte comando:

kubectl config current-context

kubectl gera o nome do contexto atual.

Gerar uma entrada kubeconfig

Para executar comandos kubectl em clusters do GKE, você precisa gerar uma entrada kubeconfig . A forma como você gera um arquivo kubeconfig depende de como você deseja se conectar ao seu cluster. Recomendamos que você use o gateway Connect . Ao usar o gateway Connect, a implantação gke-connect-agent envia solicitações pelo Google para o plano de controle do cluster.

Para verificar quais comandos kubectl são suportados pelo gateway Connect, consulte Limitações .

Se você quiser se conectar por meio de um endpoint privado , precisará ter uma conexão e um roteamento para o endpoint do plano de controle na sua Nuvem Privada Virtual da AWS. O kube-apiserver do cluster faz parte do plano de controle. Para enviar solicitações diretamente ao endpoint privado, talvez seja necessário ampliar as regras de firewall. Para obter mais informações sobre como se conectar ao seu plano de controle, consulte Grupos de segurança da AWS .

Conectar gateway

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION

Substitua o seguinte:

  • CLUSTER_NAME : o nome do seu cluster
  • GOOGLE_CLOUD_LOCATION : o Google Cloud região ou zona onde seu GKE na AWS é gerenciado

Ponto final privado

Para se conectar ao endpoint privado, você precisa de conectividade com o plano de controle do cluster. Consulte Conectar-se ao plano de controle do seu cluster .

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \
  --private-endpoint

Substitua o seguinte:

  • CLUSTER_NAME : o nome do seu cluster
  • GOOGLE_CLOUD_LOCATION : o Google Cloud região ou zona onde seu GKE na AWS é gerenciado

Trabalhar com vários clusters

Esta seção descreve como usar kubectl com vários clusters do GKE.

Definir um cluster padrão para comandos kubectl

Você pode alternar o contexto atual do kubectl para esse cluster executando:

gcloud container aws clusters get-credentials CLUSTER_NAME \
  --location GOOGLE_CLOUD_LOCATION \

Substitua o seguinte:

  • CLUSTER_NAME : o nome do seu cluster
  • GOOGLE_CLOUD_LOCATION : o Google Cloud região ou zona onde seu GKE na AWS é gerenciado

Por exemplo, considere um projeto com dois clusters, cluster-1 e cluster-2 . O contexto atual é cluster-2 . Para alternar o contexto atual de cluster-2 para cluster-1 , execute o seguinte comando:

gcloud container aws clusters get-credentials cluster-1 \
  --location GOOGLE_CLOUD_LOCATION

Execute comandos kubectl individuais em um cluster específico

Você pode executar comandos kubectl individuais em um cluster específico passando o nome do cluster como ele aparece no kubeconfig como argumento para o sinalizador --cluster .

Por exemplo, considere um ambiente com dois clusters, cluster-1 e cluster-2 , em que o contexto atual é cluster-1 . Você não quer alterar o contexto atual. Para obter uma lista de objetos Pod no cluster-2 sem alterar o contexto atual, execute o seguinte comando:

kubectl get pod --cluster cluster-2