Arquitetura do GKE na AWS

Visão geral

O GKE na AWS é um software de nuvem híbrida que estende o Google Kubernetes Engine (GKE) para a Amazon Web Services (AWS).

O GKE na AWS usa recursos comuns da AWS, como Elastic Compute Cloud (EC2), Elastic Block Storage (EBS) e Elastic Load Balancer (ELB). A maioria dos recursos da AWS criados pelo GKE na AWS tem nomes que começam com gke-.

Arquitetura

Há dois componentes para o GKE na AWS.

  1. O serviço de gerenciamento, um ambiente que pode instalar e atualizar os clusters de usuário, usa a API da AWS para provisionar recursos.
  2. Clusters de usuário, em que você executa as cargas de trabalho.

Neste tópico, descrevemos a finalidade e o formato do seu serviço de gerenciamento do Anthos e clusters de usuário.

Arquitetura de um GKE na instalação da AWS, mostrando serviço de gerenciamento e AWSClusters contendo um plano de controle e AWSNodePools

Serviço de gerenciamento

O serviço de gerenciamento fornece e gerencia componentes da sua instalação do GKE na AWS. Por exemplo, você cria clusters de usuários usando o serviço de gerenciamento. O serviço de gerenciamento usa a API AWS para provisionar recursos.

É possível criar seu serviço de gerenciamento em uma VPC dedicada da AWS ou uma VPC da AWS atual.

Você precisa de um serviço de gerenciamento em cada nuvem privada virtual (VPC, na sigla em inglês) da AWS em que executa o GKE na AWS. O serviço de gerenciamento está instalado em uma zona de disponibilidade da AWS. Você só precisa de um serviço de gerenciamento por VPC. Um serviço de gerenciamento pode gerenciar vários clusters de usuários.

O principal componente do serviço de gerenciamento é o Operator do cluster. O operador de cluster é um operador do Kubernetes que cria e gerencia AWSClusters e AWSNodePools. O Cluster Operator armazena a configuração em um banco de dados etcd com armazenamento persistente em um volume da AWS EBS.

Como instalar e configurar seu serviço de gerenciamento

Nesta seção, você verá as ferramentas que podem ser usadas para gerenciar o serviço de gerenciamento.

A ferramenta anthos-gke

Crie e gerencie seus clusters com a ferramenta de linha de comando anthos-gke. Para mais informações, consulte a ferramenta anthos-gke.

Conectar

Com o Connect, é possível visualizar e fazer login no seu GKE na ASW e nos clusters do GKE no Google Cloud usando a mesma interface no Console do Google Cloud. Todos os recursos são mostrados em um único painel, para que você possa ter visibilidade das cargas de trabalho em vários clusters do Kubernetes.

Clusters de usuários

Um cluster de usuário inclui dois componentes, que são recursos personalizados do Kubernetes hospedados pelo serviço de gerenciamento:

  1. Um plano de controle.
  2. Um ou mais AWSNodePools.

AWSCluster

Um AWSCluster é executado em uma única VPC.

Quando você instala um cluster de gerenciamento em uma VPC dedicada, o GKE na AWS cria réplicas do plano de controle em cada zona especificada em dedicatedVPC.availabilityZones. Quando você instala um cluster de gerenciamento na infraestrutura atual, o GKE na AWS cria um AWSCluster com três réplicas do plano de controle nas mesmas zonas de disponibilidade. Cada réplica pertence ao próprio grupo de escalonamento automático da AWS que reinicia as instâncias quando elas são encerradas.

O serviço de gerenciamento coloca os planos de controle em uma sub-rede particular por trás de um balanceador de carga de rede (NLB, na sigla em inglês) da AWS. O serviço de gerenciamento interage com o plano de controle usando NLB.

Para criar planos de controle em várias zonas de disponibilidade da AWS, consulte Clusters de usuários de alta disponibilidade.

Cada plano de controle armazena a configuração em um banco de dados etcd local. Esses bancos de dados são replicados e configurados em uma topologia de alta disponibilidade empilhada.

Um plano de controle gerencia um ou mais AWSNodePools.

AWSNodePool

O AWSNodePools funciona como Pools de nós do GKE no Google Cloud. Um pool de nós é um grupo de nós em um cluster, que têm a mesma configuração. Pools de nós usam o recurso AWSNodePool e podem conter um ou mais nós. Cada pool de nós pertence a um grupo de escalonamento automático da AWS que reinicia as instâncias quando elas são encerradas.

Solução de problemas

É possível solucionar problemas do GKE na instalação da AWS visualizando eventos do Kubernetes no AWSCluster e AWSNodePools. Para mais informações, consulte o guia Solução de problemas.

A seguir