Consideraciones sobre las capacidades de EKS - Amazon EKS

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.

Consideraciones sobre las capacidades de EKS

En este tema, se tratan aspectos importantes a la hora de utilizar las capacidades de EKS, como el diseño del control de acceso, la elección entre las capacidades de EKS y las soluciones autoadministradas, los patrones de arquitectura para las implementaciones de varios clústeres y las prácticas recomendadas operativas.

RBAC de Kubernetes y roles de IAM de la capacidad

Cada recurso de la capacidad de EKS tiene un rol de IAM de capacidad configurado. El rol de capacidad se utiliza para otorgar permisos del servicio de AWS para que las capacidades de EKS actúen en su nombre. Por ejemplo, para utilizar la capacidad de EKS para ACK con el fin de administrar buckets de Amazon S3, debe otorgar permisos administrativos al bucket de S3 para la capacidad, lo que le permitirá crear y administrar buckets.

Una vez configurada la capacidad, los recursos de S3 en AWS se pueden crear y administrar con los recursos personalizados de Kubernetes en el clúster. El RBAC de Kubernetes es el mecanismo de control de acceso integrado en el clúster para determinar qué usuarios y grupos pueden crear y administrar esos recursos personalizados. Por ejemplo, otorga permisos específicos a usuarios y grupos del RBAC de Kubernetes para crear y administrar los recursos de Bucket en los espacios de nombres que elija.

De este modo, IAM y el RBAC de Kubernetes son dos mitades del sistema de control de acceso integral que regula los permisos relacionados con los recursos y las capacidades de EKS. Es importante diseñar la combinación adecuada de políticas de acceso de RBAC y permisos de IAM para su caso de uso.

Para obtener información adicional sobre los permisos de Kubernetes y los roles de IAM de la capacidad, consulte Consideraciones sobre la seguridad para las capacidades de EKS.

Patrones de arquitectura de varios clústeres

Al implementar capacidades en varios clústeres, tenga en cuenta estos patrones arquitectónicos comunes:

Radial con administración centralizada

Ejecute las tres capacidades en un clúster administrado de forma centralizada para organizar las cargas de trabajo y administrar la infraestructura en la nube en varios clústeres de cargas de trabajo.

  • Argo CD en el clúster de administración implementa aplicaciones en clústeres de cargas de trabajo de distintas regiones o cuentas

  • ACK en el clúster de administración aprovisiona los recursos de AWS (RDS, S3, IAM) para todos los clústeres

  • kro en el clúster de administración crea abstracciones de plataforma portátiles que funcionan en todos los clústeres

Este patrón centraliza la administración de la carga de trabajo y la infraestructura en la nube, y puede simplificar las operaciones de las organizaciones que administran muchos clústeres.

GitOps descentralizadas

Las cargas de trabajo y la infraestructura en la nube se administran mediante capacidades del mismo clúster en el que se ejecutan las cargas de trabajo.

  • Argo CD administra los recursos de las aplicaciones en el clúster local.

  • Los recursos de ACK se utilizan para las necesidades de los clústeres y las cargas de trabajo.

  • Las abstracciones de la plataforma de kro se instalan y orquestan los recursos locales.

Este patrón descentraliza las operaciones, ya que los equipos administran sus propios servicios dedicados de la plataforma en uno o más clústeres.

Radial con implementación híbrida de ACK

Combine modelos centralizados y descentralizados, con implementaciones de aplicaciones centralizadas y administración de recursos en función del ámbito y la propiedad.

  • Clúster de concentrador:

    • Argo CD administra las implementaciones de GitOps en el clúster local y en todos los clústeres de cargas de trabajo remotos.

    • ACK se utiliza en el clúster de administración para los recursos del ámbito administrativo (bases de datos de producción, roles de IAM, VPC).

    • kro se usa en el clúster de administración para abstracciones de plataforma reutilizables.

  • Clúster de radio:

    • Las cargas de trabajo se administran mediante Argo CD en el clúster de concentrador centralizado.

    • ACK se usa localmente para los recursos del ámbito de la carga de trabajo (buckets de S3, instancias de ElastiCache, colas de SQS).

    • kro se usa localmente para la composición de recursos y los patrones de componentes

Este patrón separa las preocupaciones: los equipos de plataformas administran la infraestructura crítica de forma centralizada en clústeres de administración, lo que incluye opcionalmente los clústeres de cargas de trabajo, mientras que los equipos de aplicaciones especifican y administran los recursos de la nube junto con las cargas de trabajo.

Elección de un patrón

Tenga en cuenta estos factores al seleccionar una arquitectura:

  • Estructura organizativa: los equipos de plataformas centralizadas prefieren los patrones de concentrador, mientras que los equipos descentralizados pueden preferir las capacidades por clúster.

  • Ámbito de los recursos: los recursos de ámbito administrativo (bases de datos, IAM) suelen beneficiarse de la administración central, mientras que los recursos de cargas de trabajo (buckets, colas) se pueden administrar de forma local.

  • Autoservicio: los equipos de plataformas centralizadas pueden crear y distribuir recursos personalizados prescriptivos para permitir el autoservicio seguro de los recursos de la nube para las necesidades de carga de trabajo comunes.

  • Administración de flotas del clúster: los clústeres de administración centralizada proporcionan un plano de control que es propiedad del cliente para la administración de flotas en clústeres de EKS, junto con otros recursos del ámbito administrativo.

  • Requisitos de cumplimiento: algunas organizaciones requieren un control centralizado para la auditoría y la gobernanza.

  • Complejidad operativa: un número menor de instancias de capacidad simplifica las operaciones, pero puede crear cuellos de botella.

nota

Puede comenzar con un patrón y evolucionar hacia otro a medida que la plataforma vaya madurando. Las capacidades son independientes: puede implementarlas de forma diferente en los clústeres en función de sus necesidades.

Comparación de las capacidades de EKS con las soluciones autoadministradas

Las capacidades de EKS proporcionan experiencias completamente administradas para las herramientas y controladores populares de Kubernetes que se ejecutan en EKS. Difieren de las soluciones auto administradas, que se instalan y se utilizan en el clúster.

Diferencias clave

Implementación y administración

AWS administra completamente las capacidades de EKS sin necesidad de instalar, configurar ni mantener el software de los componentes. AWS instala y administra automáticamente todas las definiciones de recursos personalizados (CRD) de Kubernetes necesarias en el clúster.

Con las soluciones autoadministradas, puede instalar y configurar el software de clústeres mediante gráficos de Helm, kubectl u otros operadores. Tiene el control total sobre el ciclo de vida del software y la configuración del tiempo de ejecución de las soluciones autoadministradas, lo que permite personalizar cualquier capa de la solución.

Operaciones y mantenimiento

AWS administra la aplicación de parches y otras operaciones del ciclo de vida del software para las capacidades de EKS, con actualizaciones automáticas y parches de seguridad. Las capacidades de EKS se integran con características de AWS que permiten simplificar las configuraciones, ofrecen alta disponibilidad y tolerancia a errores integradas, y eliminan la solución de problemas de las cargas de trabajo de los controladores dentro del clúster.

Las soluciones autoadministradas requieren que supervise el estado y los registros de los componentes, aplique parches de seguridad y actualizaciones de versiones, configure la alta disponibilidad con varias réplicas y presupuestos para interrupciones de pods, solucione y corrija los problemas de cargas de trabajo de los controladores y administre los lanzamientos y las versiones. Tiene el control total sobre las implementaciones, pero esto suele requerir soluciones personalizadas para el acceso a clústeres privados y otras integraciones que deben ajustarse a los estándares de la organización y a los requisitos de cumplimiento en materia de seguridad.

Consumo de recursos

Las capacidades de EKS se ejecutan en EKS y fuera de los clústeres, lo que libera recursos de nodos y clústeres. Las capacidades no utilizan los recursos de cargas de trabajo de clústeres, no consumen CPU ni memoria en los nodos de trabajo, se escalan automáticamente y tienen un impacto mínimo en la planificación de la capacidad del clúster.

Las soluciones autoadministradas ejecutan controladores y otros componentes en los nodos de trabajo, lo que consume directamente los recursos de los nodos de trabajo, las direcciones IP del clúster y otros recursos del clúster. La administración de los servicios del clúster requiere planificar la capacidad de las cargas de trabajo, así como planificar y configurar las solicitudes y los límites de los recursos para administrar los requisitos de escalabilidad y alta disponibilidad.

Compatibilidad de características

Al tratarse de características del servicio completamente administradas, las capacidades de EKS son, por naturaleza, obstinadas en comparación con las soluciones autoadministradas. Si bien las capacidades admiten la mayoría de las características y los casos de uso, habrá una diferencia en la cobertura en comparación con las soluciones autoadministradas.

Con las soluciones autoadministradas, controla completamente la configuración, las características opcionales y otros aspectos de la funcionalidad del software. Puede optar por ejecutar sus propias imágenes personalizadas, personalizar todos los aspectos de la configuración y controlar completamente la funcionalidad de la solución autoadministrada.

Consideraciones sobre costos

Cada recurso de capacidad de EKS tiene un costo por hora relacionado, que varía según el tipo de capacidad. Los recursos del clúster administrados por la capacidad también tienen un costo por hora asociado con sus propios precios. Para obtener más información, consulte los precios de Amazon EKS.

Las soluciones autoadministradas no tienen costos directos relacionados con los cargos de AWS, pero paga por los recursos de computación en clústeres que utilizan los controladores y las cargas de trabajo relacionadas. Además del consumo de recursos de nodos y clústeres, el costo total de la propiedad de las soluciones autoadministradas incluye los gastos operativos y los gastos de mantenimiento, solución de problemas y soporte.

Elección entre las capacidades de EKS y las soluciones autoadministradas

Capacidades de EKS: tenga en cuenta esta opción si desea reducir los gastos operativos y centrarse en el valor diferenciado de su software y sus sistemas, en lugar de centrarse en las operaciones de plataformas del clúster para cumplir con los requisitos fundamentales. Utilice las capacidades de EKS cuando desee minimizar la carga operativa que suponen los parches de seguridad y la administración del ciclo de vida del software, liberar recursos de nodos y clústeres para las cargas de trabajo de las aplicaciones, simplificar la administración de la configuración y la seguridad y beneficiarse de la cobertura de AWS Support. Las capacidades de EKS son ideales para la mayoría de los casos de uso de producción y son el enfoque recomendado para las nuevas implementaciones.

Soluciones autoadministradas: tenga en cuenta esta opción cuando necesite versiones específicas de la API de recursos de Kubernetes, personalice compilaciones de controladores, tenga la automatización y las herramientas existentes basadas en implementaciones autoadministradas o necesite una personalización profunda de las configuraciones de tiempo de ejecución de los controladores. Las soluciones autoadministradas ofrecen flexibilidad para casos de uso especializados y tiene el control total sobre la configuración de implementación y tiempo de ejecución.

nota

Las capacidades de EKS pueden coexistir en el clúster con soluciones autoadministradas, y es posible llevar a cabo migraciones escalonadas.

Comparaciones específicas de la capacidad

Para obtener comparaciones detalladas, incluidas las características específicas de la capacidad, las diferencias ascendentes y las rutas de migración, consulte: