Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Capacidades de EKS
sugerencia
Las capacidades de Amazon EKS son un conjunto en capas de características de clúster completamente administradas que ayudan a acelerar la velocidad de los desarrolladores y reducir la complejidad de la creación y el escalado con Kubernetes. Las capacidades de EKS son características nativas de Kubernetes para la implementación continua declarativa, la administración de recursos de AWS y la creación y orquestación de recursos de Kubernetes, todo ello completamente administrado por AWS. Con las capacidades de EKS, puede centrarse más en crear y escalar sus cargas de trabajo, lo que lo libera de la carga operativa que suponen estos servicios fundamentales de la plataforma y que asumirá AWS. Estas capacidades se ejecutan dentro de EKS y no en los clústeres, lo que elimina la necesidad de instalar, mantener y escalar los componentes críticos de la plataforma en los nodos de trabajo.
Para comenzar, puede crear una o más capacidades de EKS en un clúster de EKS nuevo o existente. Para ello, puede utilizar la AWS CLI, la Consola de administración de AWS, las API de EKS, eksctl o las herramientas de infraestructura como código que prefiera. Si bien las capacidades de EKS están diseñadas para funcionar en conjunto, son recursos de nube independientes que puede elegir en función de su caso de uso y sus requisitos.
Todas las versiones de Kubernetes compatibles con EKS son compatibles con las capacidades de EKS.
nota
Las capacidades de EKS están disponibles en todas las regiones comerciales de AWS en las que Amazon EKS esté disponible. Para ver una lista de las regiones admitidas, consulte Puntos de conexión y cuotas de Amazon EKS en la referencia general de AWS.
Capacidades disponibles
Controladores para Kubernetes (ACK) de AWS
ACK permite administrar los recursos de AWS mediante las API de Kubernetes, lo que le permite crear y administrar buckets de S3, bases de datos de RDS, roles de IAM y otros recursos de AWS mediante los recursos personalizados de Kubernetes. ACK concilia continuamente el estado deseado con el estado real en AWS, lo que corrige cualquier desviación a lo largo del tiempo para mantener el sistema en buen estado y los recursos configurados según lo especificado. Puede administrar los recursos de AWS junto con sus cargas de trabajo de Kubernetes con las mismas herramientas y flujos de trabajo, con soporte para más de 50 servicios de AWS, como S3, RDS, DynamoDB y Lambda. ACK admite la administración de recursos entre cuentas y regiones, lo que permite arquitecturas complejas de administración de sistemas de varias cuentas y varios clústeres. ACK admite recursos de solo lectura y adopción de solo lectura, lo que facilita la migración de otras herramientas de infraestructura como código a sus sistemas basados en Kubernetes.
Argo CD
Argo CD implementa la implementación continua basado en GitOps para sus aplicaciones, con los repositorios de Git como origen de información verdadera para sus cargas de trabajo y el estado del sistema. Argo CD sincroniza automáticamente los recursos de las aplicaciones con sus clústeres desde los repositorios de Git mediante la detección y la corrección de las desviaciones para garantizar que las aplicaciones implementadas coincidan con el estado deseado. Puede implementar y administrar aplicaciones en varios clústeres desde una sola instancia de Argo CD, con una implementación automatizada desde los repositorios de Git siempre que se hagan cambios. El uso conjunto de Argo CD y ACK proporciona un sistema de GitOps fundamental, que simplifica la administración de las dependencias de la carga de trabajo y permite diseñar todo el sistema, lo que incluye la administración de clústeres e infraestructuras a escala. Argo CD se integra con AWS Identity Center para la autenticación y la autorización, y proporciona una interfaz de usuario de Argo alojada para visualizar el estado de la aplicación y de implementación.
Más información sobre Argo CD →
kro (Kube Resource Orchestrator)
kro le permite crear API de Kubernetes personalizadas que agrupan varios recursos en abstracciones de nivel superior, lo que permite a los equipos de plataformas definir patrones reutilizables para componentes de la nube de combinaciones de recursos comunes. Con kro, puede agrupar recursos de AWS y Kubernetes en abstracciones unificadas mediante una sintaxis simple para permitir configuraciones dinámicas y lógica condicional. kro permite a los equipos de plataformas proporcionar capacidades de autoservicio con las barreras de protección adecuadas, lo que permite a los desarrolladores aprovisionar infraestructuras complejas mediante API simples y personalizadas mientras cumplen con los estándares organizativos y las prácticas recomendadas. Los recursos de kro son simplemente recursos de Kubernetes y se especifica en los manifiestos de Kubernetes cuáles se pueden almacenar en Git o insertar en registros compatibles con OCI como Amazon ECR para una amplia distribución organizativa.
Ventajas de las capacidades de EKS
AWS administra completamente las capacidades de EKS, lo que elimina la necesidad de instalar, mantener y escalar los servicios de clúster fundamentales. AWS gestiona los parches de seguridad, las actualizaciones y la administración operativa, lo que permite a sus equipos centrarse en crear con AWS en lugar de operaciones del clúster. A diferencia de los complementos tradicionales de Kubernetes que consumen recursos del clúster, las capacidades se ejecutan en EKS y no en los nodos de trabajo. De este modo, se liberan recursos del clúster y capacidad para las cargas de trabajo y, al mismo tiempo, se minimiza la carga operativa que supone administrar los controladores integrados en el clúster y otros componentes de la plataforma.
Con las capacidades de EKS, puede administrar las implementaciones, los recursos de AWS, los recursos personalizados de Kubernetes y las composiciones mediante herramientas y API de Kubernetes nativas, como kubectl. Todas las capacidades operan en el contexto de sus clústeres, lo que hace que se detecten y se corrijan automáticamente las desviaciones de configuración en los recursos de la infraestructura en la nube y de las aplicaciones. Puede implementar y administrar los recursos en varios clústeres, cuentas de AWS y regiones desde un único punto de control, lo que simplifica las operaciones en entornos complejos y distribuidos.
Las capacidades de EKS están diseñadas para los flujos de trabajo de GitOps, lo que proporciona una administración de aplicaciones e infraestructuras declarativa y controlada por versiones. Los cambios fluyen desde Git a través del sistema y proporcionan registros de auditoría, capacidades de reversión y flujos de trabajo de colaboración que se integran con las prácticas de desarrollo existentes. Gracias a este enfoque nativo de Kubernetes, no es necesario utilizar varias herramientas ni administrar sistemas de infraestructura como código externos a los clústeres y, además, hay un único origen de información verdadera al que acudir. El estado deseado, definido en la configuración declarativa de Kubernetes con control de versiones, se aplica continuamente en todo el entorno.
Precios
Con las capacidades de EKS, no hay cuotas de pago iniciales ni compromisos. Se le cobrará por cada hora que esté activo cada recurso de capacidad en su clúster de Amazon EKS. Los recursos específicos de Kubernetes administrados por las capacidades de EKS también se facturan con una tarifa por hora.
Para obtener información actual acerca de los precios, consulte la página de precios de Amazon EKS
sugerencia
Puede usar el Informe de costos y usos y el Explorador de costos de AWS para hacer un seguimiento de los costos de la capacidad por separado en relación con otros cargos de EKS. Puede etiquetar las capacidades con el nombre del clúster, el tipo de capacidad y otros detalles para poder asignar los costos.
Cómo funcionan las capacidades de EKS
Cada capacidad es un recurso de AWS que se crea en el clúster de EKS. Una vez creada, la capacidad se ejecuta en EKS y AWS la administra completamente.
nota
Puede crear un recurso de capacidad de cada tipo (Argo CD, ACK y kro) para un clúster determinado. No puede crear varios recursos de capacidad del mismo tipo en el mismo clúster.
Interactuará con las capacidades del clúster mediante las API y herramientas estándar de Kubernetes:
-
Utilice
kubectlpara aplicar los recursos personalizados de Kubernetes. -
Utilice los repositorios de Git como origen de información verdadera para los flujos de trabajo de GitOps.
Algunas capacidades incluyen herramientas adicionales compatibles. Por ejemplo:
-
Utilice la CLI de Argo CD para configurar y administrar repositorios y clústeres en la capacidad de Argo CD.
-
Utilice la interfaz de usuario de Argo CD para ver y administrar las aplicaciones administradas por la capacidad de Argo CD.
Las capacidades están diseñadas para funcionar en conjunto, pero son independientes y completamente opcionales. Puede habilitar una, dos o las tres capacidades en función de sus necesidades y actualizar la configuración a medida que evolucionen sus requisitos.
Se admiten todos los tipos de computación de EKS para su uso con las capacidades de EKS. Para obtener más información, consulte Administración de los recursos de computación mediante nodos.
Para obtener información sobre la configuración de seguridad y los detalles sobre los roles de IAM, consulte Consideraciones sobre la seguridad para las capacidades de EKS. Para conocer los patrones de arquitectura de varios clústeres, consulte Consideraciones sobre las capacidades de EKS-
Casos de uso común
GitOps para aplicaciones e infraestructura
Use Argo CD para implementar aplicaciones y componentes operativos y ACK para administrar las configuraciones de los clústeres y aprovisionar la infraestructura, ambos desde los repositorios de Git. Toda la pila (aplicaciones, bases de datos, almacenamiento y redes) se define como código y se implementa automáticamente.
Ejemplo: un equipo de desarrollo hace cambios en Git. Argo CD implementa la aplicación actualizada y ACK aprovisiona una nueva base de datos de RDS con la configuración correcta. Todos los cambios son auditables, reversibles y coherentes en todos los entornos.
Ingeniería de plataformas con autoservicio
Utilice kro para crear API personalizadas que compongan los recursos de ACK y Kubernetes. Los equipos de plataformas definen los patrones aprobados con barreras de protección. Los equipos de aplicaciones utilizan API sencillas y de alto nivel para aprovisionar pilas completas.
Ejemplo: un equipo de plataformas crea una API “WebApplication” que aprovisiona una implementación, un servicio, una entrada y un bucket de S3. Los desarrolladores utilizan esta API sin necesidad de comprender la complejidad subyacente ni los permisos de AWS.
Administración de aplicaciones de varios clústeres
Utilice Argo CD para implementar aplicaciones en varios clústeres de EKS en diferentes regiones o cuentas. Administre todas las implementaciones desde una única instancia de Argo CD con políticas y flujos de trabajo coherentes.
Ejemplo: implemente la misma aplicación en clústeres de desarrollo, almacenamiento y producción en varias regiones. Argo CD garantiza que cada entorno se mantenga sincronizado con su rama de Git correspondiente.
Administración de varios clústeres
Utilice ACK para definir y aprovisionar los clústeres de EKS, kro para personalizar las configuraciones de los clústeres con los estándares organizativos y Argo CD para administrar el ciclo de vida y la configuración de los clústeres. De este modo, se proporciona una administración integral de los clústeres, desde su creación hasta las operaciones continuas.
Ejemplo: defina los clústeres de EKS mediante ACK y kro para aprovisionar y aprovisionar la infraestructura de los clústeres, lo que define los estándares organizativos para las redes, las políticas de seguridad, los complementos y otras configuraciones. Utilice Argo CD para crear y administrar de forma continua los clústeres, la configuración y las actualizaciones de las versiones de Kubernetes en toda su flota, de modo que aproveche los estándares uniformes y la administración automatizada del ciclo de vida.
Migraciones y modernización
Simplifique la migración a EKS con el aprovisionamiento nativo de recursos en la nube y los flujos de trabajo de GitOps. Utilice ACK para adoptar los recursos de AWS existentes sin volver a crearlos y Argo CD para poner en marcha las implementaciones de cargas de trabajo desde Git.
Ejemplo: un equipo que migra de EC2 a EKS adopta sus bases de datos de RDS y buckets de S3 existentes mediante ACK y, a continuación, utiliza Argo CD para implementar aplicaciones en contenedores desde Git. La ruta de migración es clara y las operaciones se estandarizan desde el primer día.
Arranque de cuentas y regiones
Automatice la implementación de la infraestructura en todas las cuentas y regiones con Argo CD y ACK a la vez. Defina su infraestructura como código en Git y deje que las capacidades se ocupen de la implementación y la administración.
Ejemplo: un equipo de plataformas mantiene los repositorios de Git que definen las configuraciones de cuentas estándar: VPC, roles de IAM, instancias de RDS y pilas de supervisión. Argo CD implementa estas configuraciones automáticamente en nuevas cuentas y regiones, lo que garantiza la coherencia y reduce el tiempo de configuración manual de días a minutos.