Arquitetura do Amazon EKS - Amazon EKS

Arquitetura do Amazon EKS

O Amazon EKS está alinhado com a arquitetura geral de cluster do Kubernetes. Para obter mais informações, consulte Componentes do Kubernetes na documentação Kubernetes. As seções a seguir resumem alguns detalhes adicionais da arquitetura do Amazon EKS.

Ambiente de gerenciamento

O Amazon EKS garante que todo cluster tenha seu próprio ambiente de gerenciamento do Kubernetes exclusivo. Esse design mantém a infraestrutura de cada cluster separada, sem sobreposições entre clusters ou contas da AWS. A configuração inclui:

Componentes distribuídos

O ambiente de gerenciamento posiciona pelo menos duas instâncias de servidor de API e três instâncias de etcd em três zonas de disponibilidade AWS em uma região AWS.

Performance ideal

O Amazon EKS monitora e ajusta ativamente as instâncias do ambiente de gerenciamento para manter o máximo de performance.

Resiliência

Se uma instância do ambiente de gerenciamento falhar, o Amazon EKS a substituirá rapidamente, usando outra zona de disponibilidade se necessário.

Tempo de atividade consistente

Executando os clusters em várias zonas de disponibilidade, um Acordo de Serviço (SLA) de disponibilidade de endpoints do servidor de API confiável é alcançado.

O Amazon EKS usa o Amazon Virtual Private Cloud (Amazon VPC) para limitar o tráfego entre os componentes do ambiente de gerenciamento dentro de um único cluster. Os componentes do ambiente de gerenciamento de um cluster não podem visualizar nem receber comunicações de outros clusters ou contas da AWS, exceto quando autorizado pelas políticas de controle de acesso baseado em perfil (RBAC) do Kubernetes.

Computação

Além do ambiente de gerenciamento, um cluster do Amazon EKS tem um conjunto de máquinas de trabalho denominadas nós. Selecionar o tipo de nó de cluster apropriado do Amazon EKS é crucial para atender aos seus requisitos específicos e otimizar a utilização dos recursos. O Amazon EKS oferece os seguintes tipos de nós primários:

AWS Fargate

Fargate é um mecanismo de computação de tecnologia sem servidor para contêineres que elimina a necessidade de gerenciar as instâncias subjacentes. Com o Fargate, você especifica as necessidades de recursos da aplicação e o AWS provisiona, escala e mantém a infraestrutura automaticamente. Essa opção é ideal para usuários que priorizam a facilidade de uso e desejam se concentrar no desenvolvimento e na implantação de aplicações, em vez de no gerenciamento da infraestrutura.

Karpenter

O Karpenter é um autoscaler de cluster Kubernetes flexível e de alto desempenho que ajuda a melhorar a disponibilidade dos aplicações e a eficiência do cluster. O Karpenter lança recursos de computação do tamanho certo em resposta à mudança de carga dos aplicações. Essa opção pode provisionar recursos computacionais just-in-time que atendam aos requisitos de sua workload.

Grupos de nós gerenciados

Grupos de nós gerenciados são uma combinação de automação e personalização para gerenciar um conjunto de instâncias do Amazon EC2 em um cluster do Amazon EKS. O AWS cuida de tarefas como aplicação de patches, atualização e escalação de nós, facilitando os aspectos operacionais. Em paralelo, argumentos do kubelet personalizados são compatíveis, ampliando as possibilidades para a aplicação de políticas avançadas de gerenciamento de CPU e memória. Além disso, eles aprimoram a segurança por meio das perfis do AWS Identity and Access Management (IAM) para contas de serviço e, ao mesmo tempo, reduzem a necessidade de permissões separadas por cluster.

Nós autogerenciados

Nodos autogerenciados oferecem controle total das instâncias do Amazon EC2 dentro de um cluster do Amazon EKS. Sendo o responsável por gerenciar, escalar e manter os nós, você tem controle total sobre a infraestrutura subjacente. Essa opção é adequada para os usuários que precisam de controle granular e personalização dos nós, e estão prontos para investir tempo no gerenciamento e na manutenção da infraestrutura.