Arquitetura do GKE na AWS

O GKE na AWS é um serviço gerenciado que ajuda a provisionar, operar e escalonar clusters do Kubernetes na conta da AWS.

Arquitetura do GKE na AWS, mostrando o serviço e os clusters do Google Cloud que contêm um plano de controle e pools de nós

Gerenciamento de recursos

O GKE na AWS usa APIs da AWS para provisionar os recursos necessários para o cluster, incluindo máquinas virtuais, discos gerenciados, grupo de escalonamento automático, grupos de segurança e balanceadores de carga.

É possível criar, descrever e excluir clusters com a Google Cloud CLI ou a API GKE Multi-Cloud.

Como autenticar no AWS

Ao configurar o GKE na AWS, você cria um papel do AWS IAM na sua conta da AWS com as permissões necessárias. Você também cria uma conta de serviço no seu projeto do Google Cloud para estabelecer uma relação de confiança para a federação de identidades do IAM da AWS.

Para mais informações, consulte a Visão geral da autenticação.

Recursos no Google Cloud

O GKE na AWS usa um projeto do Google Cloud para armazenar informações de configuração do cluster no Google Cloud.

Frotas e conexão

O GKE na AWS registra cada cluster com uma frota quando ele é criado. O Connect permite o acesso a recursos de clusters e de gerenciamento de cargas de trabalho do Google Cloud. O nome da associação de frota de um cluster é igual ao nome do cluster.

É possível ativar recursos como o Config Management e o Anthos Service Mesh na sua frota.

Arquitetura do cluster

O GKE na AWS provisiona clusters usando sub-redes particulares dentro da nuvem privada virtual da AWS. Um cluster tem os seguintes componentes:

  • Plano de controle: o plano de controle do Kubernetes usa uma arquitetura de alta disponibilidade com três réplicas. Cada réplica executa todos os componentes do Kubernetes, incluindo kube-apiserver, kube-controller-manager, kube-scheduler e etcd. Cada instância etcd armazena dados em um volume EBS e usa uma interface de rede para se comunicar com outras instâncias etcd. Um balanceador de carga padrão é usado para equilibrar o tráfego para o endpoint da API Kubernetes, kube-apiserver.

  • Pools de nós: um pool de nós é um grupo de nós de trabalho do Kubernetes com a mesma configuração, incluindo tipo de instância, configuração de disco e perfil da instância. Todos os nós em um pool são executados na mesma sub-rede. Para alta disponibilidade, é possível provisionar vários pools de nós em diferentes sub-redes na mesma região do Azure.

O diagrama a seguir mostra um exemplo de VPC, um pool de nós e uma estrutura de plano de controle, incluindo um gateway de conversão de endereços de rede (NAT, na sigla em inglês) e um balanceador de carga. Crie essa infraestrutura com as instruções para Criar uma VPC da AWS e para o Guia de início rápido.

Exemplo de VPC

A seguir