Você busca aprimorar a escalabilidade e a gestão de seus contêineres na nuvem? Precisa de maior eficiência operacional com suporte a práticas modernas como GitOps? Utilizando o Amazon Elastic Kubernetes Service (EKS), nossa solução oferece um ambiente flexível e otimizado, garantindo alta performance e facilidade de gestão.
Ao longo da implementação, realizamos diversas iterações para configurar o EKS e validar seus benefícios. Essas etapas nos permitiram enfrentar desafios técnicos e construir um ambiente robusto, alinhado às melhores práticas de orquestração de contêineres. O objetivo foi otimizar a infraestrutura para atender a demandas variáveis com eficiência.
Combinando nossa expertise em serviços AWS e práticas ágeis, demonstramos como o EKS é uma solução ideal para clientes que já utilizam Kubernetes no dia a dia e buscam melhorar a eficiência através de um serviço gerenciado, mantendo a flexibilidade e o controle característicos do Kubernetes.
Solução proposta
O plano envolveu a criação de um cluster EKS principal e a instalação do Rancher para gerenciar clusters em diferentes contas de workload. Com isso, buscou-se:
Centralizar o gerenciamento e monitoramento;
Aumentar a eficiência e escalabilidade dos workloads;
Alinhar a solução com ferramentas nativas da AWS;
Reduzir custos operacionais.
Etapas de implementação
Configuração do cluster EKS central:Um cluster principal foi configurado para hospedar o Rancher, permitindo o gerenciamento centralizado.
Implantação do Rancher:O Rancher foi instalado no cluster EKS para gerenciar outros clusters de monitoramento e workloads, incluindo configuração de autenticação centralizada (IAM, Active Directory ou SAML).
Gerenciamento de clusters de workload:Clusters secundários foram conectados ao Rancher, com políticas de segurança e conectividade entre contas via AWS Transit Gateway ou VPC Peering.
Monitoramento e escalabilidade:Ferramentas como Grafana, Prometheus e Thanos foram integradas ao Rancher em um cluster EKS dedicado à infraestrutura. Essas ferramentas permitem acompanhar o desempenho das aplicações em tempo real, identificar rapidamente possíveis gargalos e realizar ajustes automatizados ou, quando necessário, notificar a equipe responsável para ações de manutenção e otimização.
Arquitetura
Descrição dos componentes
1. AWS Transit Gateway
Facilita a comunicação entre diferentes VPCs ou redes on-premises. Ele conecta os dois clusters EKS (Rancher e Workload) que encontram-se em diferentes VPCs, possibilitando um fluxo de rede seguro e escalável.
2. VPC (Virtual Private Cloud)
Oferece isolamento de rede para os clusters e os componentes relacionados. Há duas VPCs:
VPC Infraestrutura: Hospeda os serviços de gerenciamento de clusters e monitoramento.
VPC Workload: Foca na execução das cargas de trabalho do Kubernetes.
3. ALB (Application Load Balancer)
Gerencia o tráfego de entrada para o EKS na infraestrutura. Direciona requisições externas para serviços dentro do cluster, como o Rancher API Server.
4. AWS WAF (Web Application Firewall)
Oferece proteção contra ameaças comuns da web, como ataques DDoS, filtrando o tráfego indesejado que passa pelo ALB.
5. Rancher API Server
Um componente do Rancher, que é uma plataforma de gerenciamento de clusters Kubernetes.
Facilita a administração centralizada de clusters, fornecendo uma interface para criar, atualizar e monitorar os clusters Kubernetes no ambiente.
6. Cluster Controller
Parte do Rancher, é responsável pela orquestração e gerenciamento dos clusters Kubernetes, conectando o Rancher API Server com os clusters EKS.
7. EKS Cluster Infrastructure
Gerencia a infraestrutura principal para a execução de workloads Kubernetes.
Contém:
Cluster Agent: Responsável por integrar o cluster ao Rancher.
Pods: Executam as aplicações ou serviços para uma stack de monitoramento das aplicações.
8. Ingress
Gerencia as entradas HTTP/S para os serviços no cluster Kubernetes, permitindo a comunicação entre os componentes externos e os serviços internos.
9. EKS Cluster Workload
Dedica-se às cargas de trabalho (aplicações) hospedadas no Kubernetes. Este cluster é separado para isolar a execução das aplicações da infraestrutura de gerenciamento.
Também inclui:
Cluster Agent: Conexão com o Rancher para reportar o estado do cluster.
Pods: Cargas de trabalho executadas no cluster.
Integra-se com o banco de dados Aurora para persistência.
10. Aurora
Serviço de banco de dados gerenciado pela AWS. Usado como backend para aplicações executadas nos pods do cluster de workload.
11. NLB (Network Load Balancer)
Gerencia o tráfego de entrada de baixo nível (camada TCP/UDP) para o cluster de workload.
Informações complementares sobre o Amazon EKS
O Amazon Elastic Kubernetes Service (Amazon EKS) é um serviço gerenciado que simplifica a execução de aplicativos em contêineres usando Kubernetes na AWS. Com o EKS, as empresas podem implantar, gerenciar e escalar aplicativos em contêineres com alta disponibilidade e segurança, sem a necessidade de gerenciar diretamente o plano de controle do Kubernetes. O serviço integra-se facilmente a outras soluções da AWS, como IAM, CloudWatch e Elastic Load Balancing, garantindo monitoramento eficiente, controle de acesso robusto e balanceamento de carga automatizada.
Resultados
Com a integração do Rancher ao EKS, foi possível centralizar o gerenciamento de múltiplos clusters Kubernetes, simplificando processos de provisionamento, escalonamento e manutenção. Essa abordagem reduziu o tempo gasto em operações e facilitou a administração de clusters espalhados por diferentes ambientes.
A separação entre os clusters de infraestrutura e workload garantiu um isolamento eficaz de falhas, aumentando a resiliência da arquitetura. Além disso, o uso de Thanos com Prometheus trouxe alta disponibilidade para métricas e armazenamento de longo prazo.
A escalabilidade também foi otimizada, com workloads sendo ajustados de forma independente da infraestrutura de gerenciamento. A automação proporcionada pelas ferramentas de monitoramento e alertas diminuiu a necessidade de intervenção manual, aumentando a eficiência operacional.
Conclusão
A implementação do AWS EKS como núcleo desta arquitetura demonstrou ser uma escolha estratégica para alcançar eficiência, escalabilidade e segurança no gerenciamento de ambientes Kubernetes corporativos. A combinação do EKS com ferramentas como Rancher e a stack de monitoramento viabilizou uma operação robusta e resiliente, atendendo às demandas atuais e criando uma base sólida para futuras expansões. Essa solução otimizou os recursos e aprimorou a colaboração entre equipes, consolidando o AWS EKS como um pilar fundamental para operações modernas de TI.
Precisa otimizar e proteger sua infraestrutura Kubernetes? Entre em contato com a nScreen e descubra como podemos criar soluções seguras e eficientes com a tecnologia AWS.
Sobre a nScreen
nScreen | Eclipseworks company
Somos o braço especializado em cloud da Eclipseworks, atuamos da migração on premise para a nuvem, até o uso de serviços avançados como IA Generativa. Além disso, nós somos especialistas na criação de experiências digitais, combinando metodologias centradas no usuário com engenharia de software avançada para desenvolver soluções inovadoras e eficazes.