Estabeleça ligação a clusters registados com a porta de entrada do Connect

Os conjuntos Google Cloud são grupos lógicos de clusters do Kubernetes e outros recursos que podem ser geridos em conjunto, criados através do registo de clusters no Google Cloud. O gateway Connect tira partido do poder das frotas para permitir que os utilizadores do GKE se liguem e executem comandos em clusters membros da frota de uma forma simples, consistente e segura, quer os clusters estejam no Google Cloud, noutras nuvens públicas ou no local, e facilita a automatização dos processos de DevOps em todos os seus clusters.

Este guia pressupõe que já está familiarizado com alguns conceitos básicos de frotas e com o registo de clusters numa frota. Caso contrário, pode saber mais na vista geral da gestão de frotas, na vista geral da criação de frotas e nos respetivos guias associados. Também deve estar familiarizado com as ferramentas e os conceitos do Kubernetes, incluindo kubectl, client-go (se quiser usar a gateway para fins de automatização), o controlo de acesso baseado em funções (CABF) e os recursos principais do Kubernetes.

Por predefinição, o gateway Connect usa o seu ID Google para autenticar em clusters, com suporte para fornecedores de identidade de terceiros através da federação de identidades da força de trabalho e com suporte de autenticação baseada em grupos através do GKE Identity Service. Se quiser saber mais acerca do GKE Identity Service ou usá-lo como uma opção de autenticação de terceiros autónoma, consulte o artigo Apresentamos o GKE Identity Service.

Porquê usar o gateway Connect?

Existem muitos desafios na gestão de cargas de trabalho quando os seus clusters são executados em várias nuvens e ambientes híbridos. Os clusters podem estar a ser executados em diferentes nuvens privadas virtuais (VPCs) e tirar partido de diferentes fornecedores de identidade, o que torna a conetividade, a autenticação e a autorização mais complicadas. Por vezes, é difícil descobrir que clusters existem nestes ambientes.

O gateway Connect facilita as seguintes ações:

  • Descubra que clusters existem (no Google Cloud, noutra nuvem pública ou no local) e estão registados na sua frota através de uma consulta simples.
  • Estabeleça ligação a um cluster pretendido através da mesma infraestrutura que usamos para apresentar clusters do GKE registados na Google Cloud consola.
  • Autentique com as mesmas identidades que usa com os Google Cloud serviços.
  • Autorize de forma consistente em todos os seus clusters registados numa frota.

O gateway autentica a sua Google Cloud identidade e fornece a ligação ao servidor da API do cluster através do serviço Connect.

Pode interagir diretamente com os clusters através do gateway com ferramentas de linha de comandos que aceitam um kubeconfig, como o kubectl. Também pode tirar partido facilmente da entrada com os seus pipelines de compilação e outra automatização de DevOps. Pode ver um exemplo de como o fazer no nosso tutorial Integração com o Cloud Build.

Também pode usar o serviço Connect para se ligar a clusters registados fora Google Cloud com a sua Google Cloud identidade na Google Cloud consola. Para isso, siga as instruções em Trabalhe com clusters a partir da Google Cloud consola.

Como funciona

Segue-se o fluxo que um utilizador ou um serviço típico (como um pipeline de CI/CD) executa para usar o gateway Connect, depois de configurar a autenticação e a autorização adequadas. Para instruções de utilização mais detalhadas, consulte o nosso guia de utilização.

  1. O utilizador ou o serviço descobre clusters listando recursos de associação da frota com a CLI Google Cloud.

    gcloud container fleet memberships list
    
  2. O utilizador ou o serviço obtém o kubeconfig específico da porta de entrada do Connect necessário para alcançar o cluster selecionado através da CLI do Google Cloud.

    gcloud container fleet memberships get-credentials membership-name
    

    Se já estiver familiarizado com a utilização da CLI gcloud com o GKE, esta é semelhante à execução de gcloud container clusters get-credentials com a sua conta Google Cloud , o que lhe permite (se tiver autorização) aceder a qualquer cluster registado e ligado na frota do seu projeto.

  3. O utilizador ou o serviço executa os respetivos comandos da forma habitual com kubectl ou client-go, através do ficheiro kubeconfig transferido.

    1. O utilizador/serviço é autenticado pelo gateway do Connect e a autorização é verificada para garantir que tem autorização para usar o gateway. Para clusters do GKE, o gateway liga-se diretamente ao cluster do GKE.
    2. Para clusters do Kubernetes não pertencentes ao GKE, o pedido é encaminhado através do serviço Connect e do agente Connect para o servidor da API Kubernetes correspondente.
    3. Para clusters Kubernetes não GKE, o servidor da API Kubernetes autoriza o pedido, o que requer que o agente Connect esteja autorizado a roubar a identidade do utilizador ou do serviço, e que o utilizador ou o serviço esteja autorizado a executar o pedido pretendido.

Apoio técnico do Grupo Google

No fluxo padrão descrito na secção anterior, o pedido do utilizador é autorizado com base no respetivo ID individual. No entanto, em muitos casos, é útil poder autorizar utilizadores com base na respetiva associação aos Grupos Google. A autorização baseada na associação a grupos significa que não tem de configurar uma autorização separada para cada conta, o que simplifica a gestão das políticas e facilita a auditoria. Por exemplo, pode partilhar facilmente o acesso ao cluster com uma equipa, eliminando a necessidade de adicionar/remover manualmente utilizadores individuais dos clusters quando estes entram ou saem da equipa. Com alguma configuração adicional através do GKE Identity Service, pode configurar o gateway do Connect para obter informações de associação a grupos Google para o utilizador.

Pode saber mais sobre como esta funcionalidade funciona e como a configurar no artigo Configure o gateway Connect com o Google Groups.

Se quiser usar esta funcionalidade com clusters anexados ou outros ambientes do GKE, contacte o apoio técnico do Google Cloud ou a equipa do gateway Connect.

Apoio técnico de identidade de terceiros

Além de funcionar com utilizadores e grupos do Google Workspace, o gateway Connect suporta a autorização através de identidades de terceiros, como o Azure Active Directory e o Okta. Ao usar a federação de identidades da força de trabalho, pode usar um fornecedor de identidade externo para autenticar e autorizar uma força de trabalho, um grupo de utilizadores, como funcionários, parceiros e contratantes, através da gestão de identidades e acessos, para que os utilizadores possam aceder a serviços como o gateway Connect.Google Cloud Com alguma configuração adicional através do GKE Identity Service, pode configurar o gateway do Connect para obter informações de associação a grupos de terceiros para os utilizadores.

Para clusters anexados do GKE, esta funcionalidade está disponível para todas as versões de cluster do Kubernetes suportadas.

Pode saber mais sobre o funcionamento desta funcionalidade e como a configurar no artigo Configure a gateway do Connect com identidades de terceiros.

Se preferir, pode configurar a autenticação de terceiros totalmente através do serviço de identidade do GKE seguindo as instruções na respetiva documentação.

Latência

A latência total de um pedido através do gateway pode ser dividida em duas partes: o RTT (tempo de ida e volta) do serviço de gateway do Connect para o agente do Connect e o tempo de execução do pedido no cluster. A latência adicional causada pelo RTT é p95<500 ms e p99<1 s. Tenha em atenção que a maioria dos comandos kubectl executa uma série de vários pedidos diferentes, cada um dos quais requer uma viagem de ida e volta, antes de renderizar uma resposta ao utilizador.

O que se segue?