Menu

A tradução automática foi usada para esta página. Algum conteúdo pode não ser perfeito. Diga-nos como podemos melhorar.

Compartilhar Feedback

Arquitetura do AWS EKS: clusters, nós e redes

Conteúdo

Compartilhe esta página

Yifat Perry
Yifat Perry

O que é o AWS EKS?

O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado do Kubernetes da AWS que dimensiona, gerencia e implanta aplicações em contêineres. Ele geralmente é executado na nuvem pública da Amazon, mas também pode ser implantado localmente. A infraestrutura de gerenciamento do Kubernetes do Amazon EKS é executada em várias Zonas de Disponibilidade (AZ). O AWS EKS é certificado como Kubernetes-conformant, o que significa que você pode integrar o EKS com suas ferramentas existentes.

Neste artigo, você conhecerá:

Como o Amazon EKS funciona?

Os clusters EKS são compostos pelos seguintes componentes principais—um plano de controle e nós de trabalho. Cada cluster é executado em sua própria Virtual Private Cloud (VPC) totalmente gerenciada.

O plano de controle é composto por três nós mestres, cada um executado em uma AZ diferente para garantir AWS alta disponibilidade. O tráfego de entrada direcionado à API do Kubernetes passa pelo balanceador de carga de rede (NLB) da AWS.

Os nós de trabalho são executados em instâncias do Amazon EC2 localizadas em uma VPC, que não é gerenciada pela AWS. Você pode controlar e configurar a VPC alocada para os nós de trabalho. Você pode usar SSH para conceder acesso à sua automação existente ou para provisionar nós de trabalho.

Existem duas opções principais de implantação. Você pode implantar um cluster para cada ambiente ou aplicação. Como alternativa, você pode definir políticas de segurança do IAM e namespaces do Kubernetes para implantar um cluster para várias aplicações.

Para restringir o tráfego entre o plano de controle e um cluster, o EKS fornece políticas de rede da Amazon VPC. Somente clusters e contas autorizados, definidos pelo controle de acesso baseado em funções (RBAC) do Kubernetes, podem visualizar ou se comunicar com os componentes do plano de controle.

O diagrama a seguir ilustra o processo de implantação de um cluster no EKS: você instrui o EKS a provisionar um cluster, recursos de nuvem são provisionados em segundo plano e você pode então se conectar ao cluster Kubernetes e executar suas cargas de trabalho.

Fonte da imagem: AWS

Componentes do AWS EKS

A arquitetura do AWS EKS é composta pelos seguintes componentes principais: clusters, nós e rede.

Clusters do Amazon EKS

Os clusters são compostos por um plano de controle e nós EKS.


Plano de controle EKS

O plano de controle é executado em um conjunto dedicado de instâncias EC2 em uma conta AWS gerenciada pela Amazon e fornece um endpoint de API que pode ser acessado por seus aplicativos. Ele é executado em modo single-tenant e é responsável por controlar os nós mestres do Kubernetes, como o API Server e o etcd.

Os dados no etcd são criptografados usando Amazon Key Management (KMS). Os nós mestres do Kubernetes são distribuídos por diversas AWS availability zones (AZ), e o tráfego é gerenciado pelo Elastic Load Balancer (ELB).


Nós do EKS

Os nós de trabalho do Kubernetes são executados em instâncias EC2 na conta AWS da sua organização. Eles usam o endpoint da API para se conectar ao plano de controle, por meio de um arquivo de certificado. Um certificado exclusivo é usado para cada cluster.

Conteúdo relacionado: AWS Kubernetes Cluster: configuração rápida com EC2 e EKS

Nós do Amazon EKS

Os clusters do Amazon EKS podem agendar pods usando três métodos primários.


Nós autogerenciados

Um "nó" no EKS é uma instância do Amazon EC2 na qual pods do Kubernetes podem ser agendados. Pods se conectam ao endpoint da API do cluster EKS. Nós são organizados em grupos de nós. Todas as instâncias do EC2 em um grupo de nós devem ter o mesmo:

  • Tipo de instância da Amazon
  • Amazon Machine Image (IAM)
  • Função IAM

É possível ter vários grupos de nós em um cluster, cada um representando um tipo diferente de instância ou instâncias com uma função diferente.


Grupos de nós gerenciados

O Amazon EKS fornece grupos de nós gerenciados com gerenciamento de ciclo de vida automatizado. Isso permite criar, atualizar ou desligar nós automaticamente com uma única operação. O EKS utiliza as AMIs Linux mais recentes da Amazon, otimizadas para uso com o EKS. Ao encerrar nós, o EKS os remove de forma controlada para garantir que não haja interrupção do serviço. Você pode facilmente aplicar rótulos do Kubernetes a um grupo de nós inteiro para fins de gerenciamento.

Os nós gerenciados são operados usando grupos do EC2 Auto Scaling, que são gerenciados pelo serviço Amazon EKS. Você pode definir em quais zonas de disponibilidade os grupos devem ser executados. Existem várias maneiras de iniciar grupos de nós gerenciados, incluindo o console do EKS, o eksctl, a CLI da Amazon, a API da Amazon ou ferramentas de automação da Amazon, incluindo o CloudFormation.


Amazon Fargate

Você pode usar o Amazon Fargate, um serviço de contêineres sem servidor, para executar nós de trabalho sem precisar gerenciar a infraestrutura de servidor subjacente. O Fargate cobra apenas pelas vCPUs e memória utilizadas. Ele provisiona mais recursos de computação conforme o que é realmente necessário pelos nós do seu cluster.

Networking Amazon EKS

O diagrama a seguir mostra a arquitetura de rede de um cluster EKS:

Fonte da imagem: AWS

Um cluster do Amazon EKS opera em uma Nuvem Privada Virtual (VPC), uma rede privada segura dentro de um data center da Amazon. O EKS implanta todos os recursos em uma sub-rede existente em uma VPC que você seleciona, em uma região da Amazon.

Interfaces de rede usadas pelo plano de controle do EKS

O plano de controle do EKS é executado em uma VPC gerenciada pela Amazon. Ele cria e gerencia interfaces de rede em sua conta relacionadas a cada cluster EKS que você cria. Instâncias EC2 e Fargate usam essas interfaces de rede para se conectar ao plano de controle do EKS.

Por padrão, o EKS expõe um endpoint público. Se você deseja segurança adicional para o seu cluster, pode habilitar um endpoint privado e/ou limitar o acesso a endereços IP específicos. Você pode configurar a conectividade entre redes locais ou outras VPCs e a VPC usada pelo seu cluster EKS.


Rede para nós EKS

Cada instância EC2 usada pelo cluster EKS existe em uma sub-rede. Você tem duas opções para definir rede:

  • Use modelos CloudFormation da AWS para criar sub-redes— neste caso, os nós em sub-redes públicas recebem um IP público e um IP privado do bloco CIDR usado pela sub-rede.
  • Use rede personalizada via Container Networking Interface (CNI)— isso permite atribuir endereços IP a pods de qualquer sub-rede, mesmo que a instância EC2 não faça parte da sub-rede. Você deve habilitar rede personalizada ao iniciar os nós.

Armazenamento AWS EKS com Cloud Volumes ONTAP

O NetApp Cloud Volumes ONTAP, a solução de gerenciamento de storage de nível empresarial líder do setor, oferece serviços de gerenciamento de storage seguros e comprovados na AWS, Azure e Google Cloud. O Cloud Volumes ONTAP suporta até 368 TB e vários casos de uso, como serviços de arquivo, bancos de dados, DevOps ou qualquer outra carga de trabalho empresarial, com um conjunto robusto de recursos, incluindo alta disponibilidade, proteção de dados, eficiências de storage, integração com Kubernetes e muito mais.

Em particular, Cloud Volumes ONTAP oferece suporte ao provisionamento e gerenciamento de Volumes Persistentes do Kubernetes para os requisitos de cargas de trabalho conteinerizadas.

Drift chat loading