Orquestación de contenedores - Optimización de operaciones Kubernetes con Amazon EKS
Explicamos la operación gestionada de Kubernetes utilizando Amazon EKS.
Desafíos de operar Kubernetes y el valor de EKS
Kubernetes es un software de orquestación de contenedores, pero su operación es compleja. La configuración de alta disponibilidad del plano de control (servidor API, etcd, scheduler, controller manager), las actualizaciones de versión, la aplicación de parches de seguridad, el respaldo y recuperación de etcd, entre otros, requieren un trabajo continuo para la gestión del clúster. Amazon EKS proporciona el plano de control completamente gestionado y mantiene automáticamente una configuración de alta disponibilidad que abarca 3 zonas de disponibilidad. Los respaldos de etcd, el escalado del servidor API y la aplicación de parches de seguridad son gestionados por AWS. Construir un clúster Kubernetes de alta disponibilidad equivalente en las instalaciones requiere varios nodos maestros, un clúster etcd externo, la configuración de un balanceador de carga y personal para la operación continua.
Integración de EKS con servicios de AWS
Una de las características de EKS es su integración con el ecosistema de AWS. IAM Roles for Service Accounts (IRSA) permite un control de acceso granular a los servicios de AWS a nivel de Pod. El AWS Load Balancer Controller se integra con Application Load Balancer, permitiendo gestionar el enrutamiento basado en rutas o hosts como recursos nativos de Kubernetes. Amazon EBS CSI Driver y EFS CSI Driver permiten usar EBS y EFS como volúmenes persistentes. CloudWatch Container Insights recopila y visualiza las métricas y los logs del clúster EKS. El VPC CNI de EKS asigna IPs nativas de VPC, permitiendo aplicar el diseño de red VPC existente y las políticas de seguridad al entorno Kubernetes. La creación del clúster se puede ejecutar por CLI como eksctl create cluster --name my-cluster --region ap-northeast-1 --nodegroup-name workers --node-type t3.medium --nodes 3.
Opciones de cómputo de EKS
EKS ofrece varias opciones de cómputo que se pueden combinar. Los grupos de nodos gestionados EC2 automatizan el aprovisionamiento y la gestión del ciclo de vida de las instancias EC2, ejecutando de forma segura las actualizaciones de AMI y el drenado de nodos. Con los perfiles de Fargate, es posible el cómputo serverless a nivel de Pod, eliminando la necesidad de gestionar nodos. Karpenter es un aprovisionador de nodos de código abierto para EKS que selecciona automáticamente el tipo de instancia según los requisitos del Pod y aprovisiona nodos. Karpenter automatiza el escalado de nodos y diversifica los tipos de instancia para la optimización de costos. Combinado con instancias Spot, se pueden reducir los costos de cómputo.
Seguridad y cumplimiento
EKS proporciona funciones de seguridad. El acceso al servidor API del plano de control soporta tanto endpoints públicos como privados, y al restringir solo al endpoint privado, se puede limitar el acceso exclusivamente desde dentro de la VPC. EKS ha obtenido las principales certificaciones de cumplimiento como SOC 1/2/3, PCI DSS, ISO 27001 y HIPAA. La integración de RBAC de Kubernetes con AWS IAM permite gestionar de forma unificada el acceso a recursos dentro del clúster y el acceso a servicios de AWS. EKS Pod Identity también permite asignar roles IAM a Pods. Amazon GuardDuty EKS Protection analiza los logs de auditoría de Kubernetes y detecta automáticamente actividades sospechosas (escalada de privilegios, minería de criptomonedas, etc.). En entornos Kubernetes en las instalaciones, estas funciones de seguridad deben construirse e integrarse individualmente, aumentando la carga del equipo de seguridad.
Precios de EKS
El plano de control de EKS se factura por clúster y por hora, con una tarifa que depende del nivel de soporte de la versión de Kubernetes del clúster. Los nodos worker generan costos adicionales de instancias EC2 o Fargate. Los Pods en Fargate se facturan según los recursos de vCPU y memoria utilizados y el tiempo de uso. EKS Auto Mode automatiza la gestión de nodos con un cargo según el tipo y la duración de las instancias EC2 que lanza y gestiona, que se suma al precio de EC2. El aprovisionamiento automático de nodos con Karpenter permite aprovechar instancias Spot y bajar los costos.
Resumen - La solución óptima para operaciones Kubernetes
Amazon EKS es un servicio gestionado que reduce la complejidad operativa de Kubernetes mientras proporciona integración con el ecosistema de AWS. Cubre los requisitos empresariales con cómputo serverless mediante Fargate, optimización de costos combinando con instancias Spot y detección de amenazas con GuardDuty. Para organizaciones que consideran la operación en producción de Kubernetes, EKS es una de las opciones.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.