Sobre o Kubeconfig

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 .

Arquivo de configuração do Kubernetes

O Kubernetes usa um arquivo YAML chamado kubeconfig para armazenar informações de autenticação de cluster para kubectl . kubeconfig contém uma lista de contextos aos quais kubectl se refere ao executar comandos. Por padrão, o arquivo é salvo em $HOME/.kube/config .

Um contexto é um grupo de parâmetros de acesso. Cada contexto contém um cluster Kubernetes, um usuário e um namespace. O contexto atual é o cluster que é o padrão para kubectl : todos os comandos kubectl são executados nesse cluster.

Depois de criar um cluster, siga Gerar uma entrada kubeconfig para adicionar o contexto do cluster ao seu kubeconfig local.

Pontos de extremidade privados

Todos os clusters têm um endpoint canônico. O endpoint expõe o servidor da API do Kubernetes que kubectl e outros serviços usam para se comunicar com o plano de controle do cluster pela porta TCP 443. Na AWS, esse endpoint é um nome DNS que só pode ser resolvido dentro do cluster — por exemplo, gke-abcdefghijk-cp-ffabcdef123456.elb.us-west-1.amazonaws.com . Este endpoint não é acessível na internet pública. Você pode obter o endereço do endpoint do cluster privado no campo endpoint na saída do comando gcloud container aws clusters describe .

Conectar ponto de extremidade do gateway

Por padrão, o comando gcloud container aws clusters get-credentials gera um kubeconfig que usa o Connect gateway . Com esse kubeconfig , kubectl usa o Connect, que encaminha o tráfego com segurança para o endpoint privado em seu nome. Ao usar o Connect gateway, o endpoint se parece com https://connectgateway.googleapis.com/v1/projects/ PROJECT_NUMBER /memberships/ CLUSTER_NAME , onde PROJECT_NUMBER é o número do seu projeto e CLUSTER_NAME é o nome do seu cluster.

Se você tiver acesso ao endpoint privado do seu cluster por meio da sua VPC, poderá se conectar diretamente a ele. Para gerar um kubeconfig usando o endpoint privado, use o comando gcloud container aws clusters get-credentials --private-endpoint .

Sobre autenticação para kubectl

Todos os GKE na AWS estão configurados para aceitar Google CloudIdentidades de usuário e conta de serviço, validando as credenciais apresentadas pelo kubectl e recuperando o endereço de e-mail associado à identidade da conta de usuário ou serviço. Consequentemente, as credenciais dessas contas devem incluir o escopo OAuth userinfo.email para que a autenticação seja bem-sucedida.

Ao usar gcloud para configurar kubeconfig do seu ambiente para um cluster novo ou existente, gcloud fornece kubectl as mesmas credenciais usadas pelo próprio gcloud . Por exemplo, se você usar gcloud auth login , suas credenciais pessoais serão fornecidas ao kubectl , incluindo o escopo userinfo.email . Isso permite que o GKE na AWS autentique o cliente kubectl .

Uma vez que os usuários ou Google Cloud Para que as contas de serviço sejam autenticadas, elas também precisam ser autorizadas a executar qualquer ação em um GKE na AWS. O administrador do cluster é responsável por configurar o Controle de Acesso Baseado em Função apropriado para configurar a autorização.