Amazon EKS

Servicio que proporciona el plano de control de Kubernetes de forma completamente administrada, permitiendo migrar cargas de trabajo Kubernetes on-premises a la nube de forma transparente

Descripción general

Amazon Elastic Kubernetes Service (EKS) es un servicio que gestiona de forma completamente administrada el plano de control de Kubernetes (servidor API, etcd, controladores). Los usuarios solo necesitan gestionar los nodos worker, pudiendo ejecutar las mismas cargas de trabajo Kubernetes que en on-premises sin modificaciones. Soporta la versión upstream de Kubernetes, garantizando compatibilidad con el ecosistema de herramientas existente (Helm, kubectl, operadores). Ofrece opciones de nodos worker con EC2 (grupos de nodos administrados), Fargate (serverless) y Karpenter (escalado automático de nodos).

Criterios de selección frente a ECS y estructura de costos

La elección entre EKS y ECS depende de la experiencia del equipo con Kubernetes y los requisitos de portabilidad. EKS es preferible cuando: el equipo ya tiene experiencia con Kubernetes, se necesita portabilidad entre nubes o hacia on-premises (EKS Anywhere), se requieren funcionalidades avanzadas del ecosistema Kubernetes (service mesh con Istio, GitOps con ArgoCD, operadores personalizados). ECS es preferible cuando: se busca simplicidad operativa sin la complejidad de Kubernetes, el equipo es pequeño y no tiene experiencia con K8s, o las cargas de trabajo son puramente AWS sin requisitos de portabilidad. En cuanto a costos, EKS cobra 0,10 USD/hora por clúster (72 USD/mes) por el plano de control, más el costo de los nodos worker. ECS no cobra por el plano de control. Sin embargo, para organizaciones con múltiples equipos y microservicios complejos, la productividad del ecosistema Kubernetes puede justificar el costo adicional.

Grupos de nodos y escalado con Karpenter

EKS ofrece tres opciones para ejecutar pods: grupos de nodos administrados (Managed Node Groups), Fargate y Karpenter. Los grupos de nodos administrados son grupos de instancias EC2 gestionados por EKS que manejan automáticamente las actualizaciones del AMI y el drenado de nodos. Fargate ejecuta pods sin gestionar instancias, siendo ideal para cargas de trabajo esporádicas o equipos que quieren evitar la gestión de nodos. Karpenter es un auto-scaler de nodos de código abierto desarrollado por AWS que provisiona nodos de forma más rápida y eficiente que Cluster Autoscaler. Karpenter observa directamente los pods pendientes y selecciona el tipo de instancia óptimo (considerando requisitos de CPU, memoria, GPU, arquitectura) en segundos, consolidando nodos infrautilizados para optimizar costos. Un patrón común combina un grupo de nodos administrados con instancias reservadas para la carga base y Karpenter con instancias Spot para la carga variable.

Seguridad y EKS Anywhere

La seguridad en EKS opera en múltiples capas. IAM Roles for Service Accounts (IRSA) permite asignar roles IAM granulares a pods individuales en lugar de al nodo completo. Las políticas de red de Kubernetes controlan la comunicación entre pods. Los grupos de seguridad por pod (Security Groups for Pods) aplican reglas de firewall de VPC a nivel de pod individual. EKS soporta cifrado de secrets con claves KMS y auditoría mediante logs del plano de control enviados a CloudWatch. EKS Anywhere extiende la experiencia EKS a infraestructura on-premises, ejecutando clústeres Kubernetes en hardware propio con las mismas herramientas y APIs. Soporta VMware vSphere, bare metal y Nutanix como infraestructura subyacente. Esto permite una estrategia híbrida donde las cargas de trabajo con requisitos de residencia de datos o latencia se ejecutan on-premises mientras otras se ejecutan en la nube, gestionadas con herramientas consistentes.

共有するXB!