- Contêineres›
- Amazon EKS›
- Recursos
Atributos do Amazon EKS
Visão geral
O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado de Kubernetes que facilita a execução do Kubernetes na AWS e em ambientes on-premises. O Kubernetes é um sistema de código aberto com a finalidade de automatizar a implantação, a escalabilidade e o gerenciamento de aplicações conteinerizadas. A conformidade do Amazon EKS com o Kubernetes é certificada. Portanto, as aplicações existentes executadas no upstream do Kubernetes são compatíveis com o Amazon EKS.
O Amazon EKS gerencia automaticamente a disponibilidade e a escalabilidade dos nós do ambiente de gerenciamento do Kubernetes, que são responsáveis por programar contêineres, gerenciar a disponibilidade das aplicações, armazenar dados de cluster e outras tarefas principais.
O Amazon EKS permite executar suas aplicações do Kubernetes no Amazon Elastic Compute Cloud (Amazon EC2) e no AWS Fargate. Com o Amazon EKS, é possível aproveitar toda a performance, a escala, a confiabilidade e a disponibilidade da infraestrutura da AWS, assim como as integrações com os serviços de segurança e de redes da AWS, como balanceadores de carga da aplicação (ALBs) para distribuição de carga, integração do AWS Identity and Access Management (IAM) com o controle de acesso baseado em função (RBAC) e suporte à AWS Virtual Private Cloud (VPC) para redes de pod.
Clusters totalmente gerenciados
Plano de controle gerenciado
O Amazon EKS oferece um ambiente de gerenciamento do Kubernetes escalável e altamente disponível que é executado em várias zonas de disponibilidade (AZs) da AWS. O Amazon EKS gerencia automaticamente a disponibilidade e a escalabilidade dos servidores de API do Kubernetes e a camada de persistência etcd. O Amazon EKS executa o ambiente de gerenciamento do Kubernetes em três AZs para garantir alta disponibilidade e detecta e substitui automaticamente os nós de ambiente de gerenciamento.
Modo automático do Amazon EKS
O modo automático do Amazon EKS automatiza totalmente o gerenciamento da infraestrutura de clusters do Kubernetes para computação, armazenamento e redes na AWS em um único passo. Ele simplifica o gerenciamento do Kubernetes provisionando automaticamente a infraestrutura, selecionando instâncias de computação ideais, escalando dinamicamente os recursos, otimizando continuamente os custos, corrigindo sistemas operacionais, gerenciando complementos e integrando-se aos serviços de segurança da AWS.
Integrações de serviços
O AWS Controllers for Kubernetes (ACK) oferece controle de gerenciamento direto sobre os produtos da AWS de dentro do seu ambiente Kubernetes. O ACK simplifica a criação de aplicações do Kubernetes escaláveis e altamente disponíveis que utilizam produtos da AWS.
Console hospedado pelo Kubernetes
O EKS fornece um console integrado para exibir todo o cluster. Os operadores de cluster e os desenvolvedores de aplicações podem usar o EKS como um local único para organizar, visualizar e solucionar problemas das aplicações do Kubernetes em execução no Amazon EKS. O console do EKS é hospedado pela AWS e está disponível automaticamente para todos os clusters do EKS.
Grupos de nós gerenciados
O Amazon EKS permite criar, atualizar, escalar e encerrar nós de seu cluster com um único comando. Esses nós também podem aproveitar as instâncias spot do Amazon EC2 para reduzir custos. Os grupos de nós gerenciados executam instâncias do Amazon EC2 usando as mais recentes imagens de máquina da Amazon (AMI) otimizadas ou personalizadas para o EKS em sua conta da AWS, enquanto as atualizações e terminações esvaziam lentamente os nós para garantir que as aplicações continuem disponíveis.
Conformidade certificada
O Amazon EKS executa a mais recente versão de produção do Kubernetes e é certificado como compatível com o Kubernetes. Portanto, você pode usar todos os seus plugins e ferramentas existentes da comunidade do Kubernetes. As aplicações executadas no Amazon EKS são totalmente compatíveis com as aplicações executadas em qualquer ambiente do Kubernetes padrão executado em datacenters on-premises ou em nuvens públicas. Isso significa que você pode facilmente migrar qualquer aplicação padrão do Kubernetes para o Amazon EKS sem refatorar seu código.
EKS Connector
Conecte qualquer cluster compatível do Kubernetes à AWS e exiba-o no console do Amazon EKS. Você pode conectar qualquer cluster compatível do Kubernetes, incluindo clusters do Amazon EKS Anywhere executados on-premises, clusters autogerenciados no Amazon Elastic Compute Cloud (Amazon EC2) e outros clusters do Kubernetes executados fora da AWS. Independentemente de onde o cluster esteja sendo executado, você pode usar o console do Amazon EKS para visualizar todos os clusters conectados e os recursos do Kubernetes em execução neles.
Computação
Opções de computação
Com o Amazon EKS, você tem acesso completo aos tipos de instância do EC2, oferecendo flexibilidade e permitindo que você provisione automaticamente a computação ideal para a workload. Você pode comprar computação sob demanda, por meio do Savings Plans ou spot.
Nitro
O AWS Nitro System é uma combinação de hardware dedicado e hipervisor leve que possibilita inovações mais rápidas e segurança aprimorada.
Graviton
O AWS Graviton é uma família de processadores projetados para oferecer o melhor custo-benefício para suas workloads em nuvem executadas no Amazon EC2.
Instâncias spot do EC2
Aproveite a capacidade não utilizada do EC2 na Nuvem AWS, que está disponível com até 90% de desconto em comparação com os preços sob demanda. Use instâncias spot para várias aplicações sem estado, tolerantes a falhas e flexíveis, como big data, workloads em contêineres, CI/CD, servidores Web, computação de alta performance (HPC) e workloads de teste e desenvolvimento.
EKS com Fargate
O EKS suporta o AWS Fargate para executar seus aplicativos Kubernetes usando computadores sem servidor. O Fargate elimina a necessidade de provisionar e gerenciar servidores, permite que você especifique e pague pelos recursos por aplicação, além de aumentar a segurança ao conceber aplicativos isolados.
Rede, segurança e acesso
Redes nativas da VPC
Seus clusters do EKS são executados em uma Amazon VPC, o que permite usar os próprios grupos de segurança e listas de controle de acesso (ACL) de rede da VPC. Nenhum recurso de computação é compartilhado com outros clientes, o que fornece um alto nível de isolamento para construir aplicações seguras e confiáveis. O EKS usa a interface de rede de contêiner (CNI) da Amazon VPC, permitindo que pods do Kubernetes recebam endereços IP da VPC. O Amazon EKS funciona com o mecanismo de políticas de rede do Project Calico com o objetivo de oferecer políticas de redes refinadas para workloads do Kubernetes. Use a API de política de rede do Kubernetes para controlar o acesso conforme o serviço.
Suporte para IPv6
O Amazon Elastic Kubernetes Service (EKS) é compatível com IPv6, permitindo aos clientes escalar no Kubernetes muito além dos limites do espaço de endereço privado IPv4. Com o suporte EKS para IPv6, os pods são atribuídos com um único endereço IPv6 encaminhável globalmente, permitindo que você escale aplicações no cluster sem usar o espaço limitado do endereço IPv4. O endereço IPv6 encaminhável globalmente pode ser utilizado para comunicação com qualquer endpoint IPv6 na Amazon VPC, na rede on-premises ou na Internet pública. Além disso, o EKS configura as redes para que os pods ainda possam se comunicar com endpoints baseados no IPv4 fora do cluster, o que permite adotar os benefícios do IPv6 usando o Kubernetes, sem precisar que todos os serviços dependentes implantados na organização sejam migrados para o IPv6.
Balanceamento de carga
O Amazon EKS é compatível com o Elastic Load Balancing, incluindo o Application Load Balancer (ALB), o Network Load Balancer (NLB) e o Classic Load Balancer. É possível executar o balanceamento de carga de cluster padrão do Kubernetes ou qualquer controlador de entrada compatível com o Kubernetes com seu cluster do Amazon EKS.
Redes para aplicações
O Amazon VPC Lattice é um serviço de rede de aplicações totalmente gerenciado criado diretamente na infraestrutura de rede da AWS, que você pode usar para conectar, proteger e monitorar seus serviços em várias contas e nuvens privadas virtuais (VPC). Com o Amazon EKS, você utiliza o Amazon VPC Lattice por meio do AWS Gateway API Controller, uma implementação do Gateway API do Kubernetes. Usando o Amazon VPC Lattice, você pode configurar a conectividade entre clusters com a semântica padrão do Kubernetes de maneira simples e consistente.
EKS Pod Identity
O EKS Pod Identity simplifica o trabalho dos clientes ao configurar aplicativos em clusters do EKS para acessar os serviços da AWS. Os administradores de clusters do EKS recebem um fluxo de trabalho simplificado para obter as credenciais do IAM necessárias para autenticar aplicativos do Kubernetes e acessar recursos da AWS, como buckets do S3, tabelas do DynamoDB e muito mais. O EKS Pod Identity facilita o uso de perfis do IAM em vários clusters e simplifica o gerenciamento da política do IAM ao oferecer suporte à reutilização de políticas em todos os perfis do IAM.
Usar o IAM para RBAC
O Amazon EKS integra o Kubernetes RBAC (o sistema nativo de controle de acesso baseado em função para Kubernetes) com o AWS IAM. É possível atribuir funções do RBAC diretamente a cada entidade do IAM, o que permite controle detalhado das permissões de acesso aos nós do ambiente de gerenciamento do Kubernetes.
Conformidade
Verificação de assinatura de imagem de contêiner
O Amazon EKS é compatível com a verificação de assinatura de imagem de contêiner para permitir a implantação de workloads de contêiner com imagens e artefatos aprovados. Você pode verificar imagens (ou qualquer outro artefato da OCI, como lista de materiais de software) assinadas pelo AWS Signer, uma solução de assinatura totalmente gerenciada, antes de implantar imagens em clusters do Amazon EKS. A AWS oferece suporte a soluções de assinatura e verificação de imagens baseadas em código aberto para que você possa assinar facilmente artefatos armazenados em seu registro e verificá-los usando controladores de política como código ou de admissão de código aberto.
Versões e atualizações
Atualizações de cluster gerenciados
O Amazon EKS facilita a atualização dos clusters em execução para a versão mais recente do Kubernetes sem gerenciar o processo de atualização. As atualizações de versão do Kubernetes são feitas no local, removendo a necessidade de criar novos clusters ou migrar os aplicativos para um novo cluster. À medida que novas versões do Kubernetes forem lançadas e validadas para uso com o Amazon EKS, ofereceremos suporte a três versões estáveis do Kubernetes como parte de processo de atualização a qualquer momento. Você pode iniciar a instalação da nova versão e revisar o status da atualização em trânsito por meio do SDK, da CLI ou do Console AWS.
Compatibilidade de código aberto
O Amazon EKS é totalmente compatível com as ferramentas de comunidade do Kubernetes e oferece suporte a complementos bastante utilizados do Kubernetes. Isso inclui o CoreDNS, que cria um serviço DNS para seu cluster e para a interface da Web do Kubernetes Dashboard e a ferramenta da linha de comando kubectl, ajudando a acessar e gerenciar seu cluster no Amazon EKS. Para obter mais informações, consulte a página de ferramentas da comunidade do Kubernetes no GitHub.
Complementos
Complementos da AWS para Amazon EKS
O Amazon EKS oferece um conjunto selecionado de software do Kubernetes, também conhecido como complementos, que fornece recursos operacionais essenciais para clusters do Kubernetes e integração com vários produtos da AWS. Esses complementos incluem software operacional como o CoreDNS, que habilita os recursos de DNS do cluster, e o kube-proxy, que viabiliza recursos de rede de serviços no cluster do Kubernetes. Além disso, os complementos incluem software operacional como a CNI da Amazon VPC, que habilita recursos de rede de pods por meio da integração com a Amazon VPC, bem como drivers da CSI que permitem a integração com o Amazon Elastic Block Storage (Amazon EBS), o Amazon Elastic File System (Amazon EFS) e o Amazon Simple Storage Service (Amazon S3). Além disso, os complementos incluem agentes de observabilidade e segurança que permitem a integração com diferentes produtos da AWS.
O Amazon EKS permite a instalação, o gerenciamento e a configuração de complementos por meio da API do EKS, do Console de Gerenciamento da AWS, da AWS Command Line Interface (AWS CLI), do eksctl, do AWS CloudFormation e de ferramentas de infraestrutura como código (IaC) de terceiros. Todos os complementos da AWS para Amazon EKS incluem os patches de segurança e as correções de bugs mais recentes, sendo validados pela AWS para funcionar com o Amazon EKS. Isso garante que os clusters do Amazon EKS sejam consistentemente seguros e estáveis, reduzindo a quantidade de trabalho necessária para instalar, configurar e atualizar complementos. Para saber mais sobre os complementos da AWS, consulte o Guia do usuário do EKS.
Complementos do Amazon EKS de provedores de software independentes
O Amazon EKS oferece uma experiência de gerenciamento unificada para encontrar, selecionar, instalar, gerenciar e configurar software operacional do Kubernetes de terceiros (complementos) proveniente de provedores de software independentes em clusters do EKS. Isso é habilitado por meio do uso da API do EKS, do Console de Gerenciamento da AWS, da AWS CLI, do eksctl, do AWS CloudFormation e ferramentas de IaC de terceiros que também são usadas para gerenciar complementos do EKS da AWS. Isso ajuda a simplificar a experiência de gerenciamento para encontrar, assinar e implantar complementos do Kubernetes de terceiros que fornecem recursos operacionais, incluindo observabilidade, malha de serviços, GitOps e armazenamento em clusters do EKS. Os complementos de terceiros são provenientes do AWS Marketplace, que verifica continuamente o software em busca de vulnerabilidades e exposições comuns (CVE). São apresentadas somente versões complementares compatíveis com as diferentes versões do Kubernetes, reduzindo a sobrecarga para validar a compatibilidade do complemento. A seleção desses complementos por meio do EKS oferece os mesmos benefícios de qualquer outro produto no AWS Marketplace, incluindo faturamento consolidado, opções de pagamento flexíveis e preços mais baixos para contratos de longo prazo. Para saber mais sobre os complementos da AWS, consulte o Guia do usuário do EKS.
Observabilidade
Amazon Managed Service for Prometheus
O Amazon Managed Service for Prometheus fornece um serviço escalável, seguro e gerenciado pela AWS para o Prometheus de código aberto. Você pode usar a linguagem de consulta Prometheus (PromQL) para monitorar a performance de workloads em contêineres sem gerenciar a infraestrutura subjacente para ingestão, armazenamento e consulta de métricas operacionais. Você pode coletar métricas do Prometheus provenientes do Amazon EKS usando o AWS Distro para OpenTelemetry ou servidores Prometheus como agentes de coleta. O Amazon Managed Service for Prometheus fornece um extrator totalmente gerenciado e sem agente para extrair automaticamente métricas de clusters do Amazon EKS. As métricas são extraídas automaticamente dos endpoints compatíveis com o Prometheus.
CloudWatch Container Insights
O Amazon CloudWatch Container Insights é um serviço de monitoramento e observabilidade totalmente gerenciado que fornece aos engenheiros de DevOps, desenvolvedores, engenheiros de confiabilidade de sites (SRE) e gerentes de TI visibilidade imediata de aplicações em contêineres e ambientes de microsserviços. Com o Amazon CloudWatch Container Insights, você pode monitorar, isolar e diagnosticar problemas em clusters do EKS com esforço mínimo. Ele fornece telemetria de infraestrutura como uso de CPU, memória, rede e disco para clusters, serviços e pods na forma de métricas e logs que podem ser facilmente exibidos no console do CloudWatch.
Você pode obter uma observabilidade aprimorada do cluster do Amazon EKS com o complemento Amazon CloudWatch Observability para EKS. O complemento do Amazon EKS oferece maior observabilidade do cluster da ferramenta. Esse complemento instala o agente do CloudWatch e o Fluent Bit, fornecendo informações sobre a infraestrutura e o log do contêiner. O agente do CloudWatch envia as principais métricas de infraestrutura dos nós do cluster para o CloudWatch. Isso permite monitorar CPU, rede, disco e outras métricas de baixo nível relacionadas aos nós. O Fluent Bit envia logs de contêineres do cluster para o CloudWatch Logs. Isso fornece informações sobre os logs de aplicações e sistemas dos seus contêineres.
Registro em log
O Amazon EKS está integrado ao AWS CloudTrail para oferecer visibilidade às operações de gerenciamento do EKS, incluindo o histórico de auditoria. Você pode usar o CloudTrail para visualizar chamadas de API para a API do Amazon EKS. O Amazon EKS também fornece logs do ambiente de gerenciamento do Kubernetes ao Amazon CloudWatch para fins de análise, depuração e auditoria.
Marcação de alocação de custo
O Amazon EKS adiciona automaticamente uma etiqueta de alocação de custos da AWS a cada instância do EC2 que ingressa em um cluster. Isso libera você da necessidade de aplicar uma política de marcação personalizada em toda a organização para obter insights sobre os custos no nível do cluster. Depois de ativar a etiqueta de alocação de custo do nome do cluster do EKS no Console de Faturamento da AWS, você pode usar os Relatórios de custos e uso da AWS para rastrear os custos do EC2 associados aos clusters do EKS.
Kubecost
O Amazon EKS oferece suporte ao Kubecost, que permite monitorar os custos divididos por recursos do Kubernetes, incluindo pods, nós, namespaces e rótulos. Os administradores da plataforma Kubernetes e líderes financeiros podem usar o Kubecost para visualizar um detalhamento de suas cobranças associadas ao Amazon EKS, alocar custos e retornar cobranças para unidades organizacionais, como equipes de aplicações. Você pode fornecer às suas equipes internas e unidades de negócios dados de custo transparentes e precisos com base na fatura real da AWS e obter recomendações personalizadas para otimização de custos com base no seu ambiente de infraestrutura e padrões de uso em seus clusters.
Integrações com a AWS
AWS Controllers para Kubernetes (ACK)
O AWS Controllers para Kubernetes (ACK) é uma ferramenta que permite gerenciar os produtos da AWS diretamente do Kubernetes. O ACK simplifica o desenvolvimento de aplicações do Kubernetes escaláveis e altamente disponíveis que utilizam serviços da AWS. O ACK fornece uma interface consistente do Kubernetes para a AWS, independentemente da API de serviço da AWS.
Amazon Elastic Container Registry (Amazon ECR)
O Amazon ECR é um registro de contêiner totalmente gerenciado que oferece hospedagem de alta performance para que você possa implantar imagens e artefatos de aplicações de forma confiável em qualquer lugar. Você pode extrair imagens do Amazon ECR para executar workloads do Kubernetes no Amazon EKS.
Proteção do GuardDuty para EKS
A Proteção do GuardDuty para EKS permite que o Amazon GuardDuty detecte atividades suspeitas e possíveis comprometimentos de clusters do EKS analisando os logs de auditoria do Kubernetes. O Monitoramento de Runtime do Amazon GuardDuty para EKS detecta ameaças de runtime em mais de 30 descobertas de segurança para proteger clusters do EKS. O Monitoramento de Runtime para EKS usa um complemento do EKS totalmente gerenciado que adiciona visibilidade às atividades individuais do runtime do contêiner, como acesso a arquivos, execução de processos e conexões de rede. O GuardDuty agora identifica contêineres específicos nos clusters do EKS que estão potencialmente comprometidos e detecta tentativas de escalar privilégios de um contêiner individual para o host subjacente do Amazon EC2 e para o ambiente mais amplo da AWS. As descobertas do Monitoramento de Runtime do GuardDuty para EKS fornecem contexto de metadados para identificar possíveis ameaças e contê-las antes que se agravem.
Implantações híbridas
Visão geral
Você pode usar o mesmo Amazon EKS para executar nós na infraestrutura hospedada pela AWS em regiões da AWS, zonas locais da AWS, zonas do AWS Wavelength ou em seus próprios ambientes on-premises com o AWS Outposts e os nós híbridos do Amazon EKS. O AWS Outposts é uma infraestrutura gerenciada pela AWS que você executa em data centers ou instalações de co-localização, enquanto os nós híbridos do Amazon EKS são executados em máquinas virtuais ou infraestrutura bare metal gerenciada em ambientes on-premises ou na borda. Caso precise executar em ambientes isolados, você pode usar o Amazon EKS Anywhere, um software de gerenciamento do Kubernetes com suporte da AWS executado na infraestrutura gerenciada por você. Com o Amazon EKS Anywhere, você é responsável pelas operações do ciclo de vida do cluster e pela manutenção de clusters do Amazon EKS Anywhere. O Amazon EKS Connector pode ser usado para exibir qualquer cluster do Kubernetes e seus recursos no console do Amazon EKS. O Amazon EKS Distro é a distribuição da AWS dos componentes subjacentes do Kubernetes que potencializam todas as ofertas do Amazon EKS.
Nodes híbridos do Amazon EKS
Os nós híbridos do Amazon EKS unificam o gerenciamento do Kubernetes em ambientes de nuvem, on-premises e na borda, oferecendo a flexibilidade de executar workloads em qualquer lugar e, ao mesmo tempo, aumentar a disponibilidade, a escalabilidade e a eficiência. Eles padronizam as operações e ferramentas do Kubernetes em todos os ambientes e se integram de forma nativa aos produtos da AWS para monitoramento centralizado, registro em log e gerenciamento de identidades. Os nós híbridos do EKS reduzem o tempo e o esforço necessários para gerenciar o Kubernetes on-premises e na borda, transferindo a disponibilidade e a escalabilidade do ambiente de gerenciamento do Kubernetes para a AWS. Os nós híbridos do EKS podem ser executados em sua infraestrutura existente para acelerar a modernização sem investimento adicional em hardware.
AWS Outposts, zonas locais da AWS, zonas do AWS Wavelength
O AWS Outposts, as zonas locais da AWS e as zonas do AWS Wavelength podem ser usados para executar aplicações mais perto dos usuários finais e atender aos requisitos de baixa latência e residência de dados. É possível utilizar o Amazon EKS para executar nós nesses tipos de infraestrutura da AWS com os mesmos clusters, recursos e ferramentas do Amazon EKS que você usa para executar aplicações nas regiões da AWS.
Amazon EKS Anywhere
O Amazon EKS Anywhere simplifica o gerenciamento de clusters do Kubernetes por meio da automação de trabalhos pesados rotineiros, como configuração de infraestrutura e operações do ciclo de vida de clusters do Kubernetes em ambientes on-premises e na borda. O Amazon EKS Anywhere é baseado no subprojeto Cluster API (CAPI) do Kubernetes e oferece suporte a uma variedade de infraestruturas, incluindo VMware vSphere, bare metal, Nutanix, Apache CloudStack e a família AWS Snow. O Amazon EKS Anywhere pode ser executado em ambientes isolados e oferece integrações opcionais com produtos regionais da AWS para gerenciamento de identidade e observabilidade. Para receber suporte ao Amazon EKS Anywhere e acessar os complementos do Kubernetes fornecidos pela AWS, você pode comprar assinaturas corporativas do Amazon EKS Anywhere.
Amazon EKS Connector
Você pode usar o Amazon EKS Connector para registrar e conectar qualquer cluster compatível do Kubernetes à AWS e exibi-lo no console do Amazon EKS. Depois que um cluster é conectado, você pode consultar o status, a configuração e as workloads dele no console do Amazon EKS. Você pode usar esse recurso para exibir clusters conectados no console do Amazon EKS, mas o Amazon EKS Connector não permite operações de gerenciamento ou mutação para clusters conectados por meio do console do Amazon EKS.
Amazon EKS Distro
O Amazon EKS Distro é a distribuição da AWS dos componentes subjacentes do Kubernetes que potencializam todas as ofertas do Amazon EKS. Ele inclui os principais componentes necessários para um cluster funcional do Kubernetes, como componentes do ambiente de gerenciamento do Kubernetes (etcd, kube-apiserver, kube-scheduler e kube-controller-manager) e componentes de rede (plug-ins CoreDNS, kube-proxy e CNI). O Amazon EKS Distro pode ser usado para autogerenciar clusters do Kubernetes com as ferramentas de sua escolha.