Acerca do Kubeconfig

Esta página destina-se a administradores de TI e operadores que querem configurar, monitorizar e gerir a infraestrutura na nuvem. Para saber mais sobre as funções comuns e exemplos de tarefas que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns do utilizador do GKE.

Ficheiro de configuração do Kubernetes

O Kubernetes usa um ficheiro YAML denominado kubeconfig para armazenar informações de autenticação de clusters para o kubectl. kubeconfig contém uma lista de contextos aos quais kubectl se refere quando executa comandos. Por predefinição, o ficheiro é guardado em $HOME/.kube/config.

Um contexto é um grupo de parâmetros de acesso. Cada contexto contém um cluster do Kubernetes, um utilizador e um espaço de nomes. O contexto atual é o cluster que é atualmente o predefinido para kubectl: todos os comandos kubectl são executados em relação a esse cluster.

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

Pontos finais privados

Todos os clusters têm um ponto final canónico. O ponto final expõe o servidor da API Kubernetes que o kubectl e outros serviços usam para comunicar com o plano de controlo do cluster através da porta TCP 443. No Azure, este ponto final é um único IP privado suportado por um equilibrador de carga orientado para o interior, por exemplo, 10.0.1.5. Este ponto final não está acessível na Internet pública. Pode obter o endereço do ponto final do cluster privado no campo endpoint na saída do comando gcloud container azure clusters describe.

Ponto final do gateway de ligação

Por predefinição, o comando gcloud container azure clusters get-credentials gera um kubeconfig que usa o gateway de ligação. Com esta kubeconfig, a kubectl usa o Connect, que encaminha o tráfego de forma segura para o ponto final privado em seu nome. Quando usa o gateway Connect, o ponto final tem o seguinte aspeto: https://connectgateway.googleapis.com/v1/projects/PROJECT_NUMBER/memberships/CLUSTER_NAME, em que PROJECT_NUMBER é o número do seu projeto e CLUSTER_NAME é o nome do seu cluster.

Se tiver acesso ao ponto final privado do cluster através da sua VNet, pode estabelecer ligação diretamente ao ponto final privado. Para gerar um kubeconfig através do ponto final privado, use o comando gcloud container azure clusters get-credentials --private-endpoint.

Acerca da autenticação para kubectl

Todos os GKE no Azure estão configurados para aceitar Google Cloud identidades de utilizadores e contas de serviço, validando as credenciais apresentadas porkubectl e obtendo o endereço de email associado à identidade do utilizador ou da conta de serviço. Como resultado, as credenciais dessas contas têm de incluir o âmbito do userinfo.email OAuth para a autenticação ser bem-sucedida.

Quando usa gcloud para configurar as kubeconfig do seu ambiente para um cluster novo ou existente, gcloud dá a kubectl as mesmas credenciais usadas pelo próprio gcloud. Por exemplo, se usar o gcloud auth login, as suas credenciais pessoais são fornecidas ao kubectl, incluindo o âmbito userinfo.email. Isto permite que o GKE no Azure autentique o cliente kubectl.

Depois de os utilizadores ou as Google Cloud contas de serviço serem autenticados, também têm de ser autorizados a realizar qualquer ação num GKE no Azure. O administrador do cluster é responsável pela configuração do controlo de acesso baseado em funções adequado para configurar a autorização.