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.
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
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.O utilizador ou o serviço executa os respetivos comandos da forma habitual com
kubectl
ouclient-go
, através do ficheirokubeconfig
transferido.- 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.
- 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.
- 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?
- Saiba como configurar o gateway Connect para utilizadores e contas de serviço
- Saiba como configurar o apoio técnico dos Grupos Google para o gateway Connect.
- Saiba como estabelecer ligação e executar comandos num cluster registado através do gateway Connect
- Veja um exemplo de como usar o gateway Connect como parte da sua automatização de DevOps no nosso tutorial Integração com o Cloud Build.