¿Cuáles son algunas de las prácticas recomendadas para utilizar las instancias de spot de EC2 con Amazon EKS?

4 minutos de lectura
0

Deseo utilizar instancias de spot de Amazon Elastic Compute Cloud (Amazon EC2) con Amazon Elastic Kubernetes Service (Amazon EKS). ¿Cuáles son algunas de las prácticas recomendadas?

Descripción breve

Estas son algunas de las prácticas recomendadas para utilizar las instancias de spot de Amazon EC2 con Amazon EKS:

  • No use las instancias de spot para trabajos de larga ejecución o aplicaciones con estado.
  • Utilice grupos de nodos administrados con instancias de spot.
  • Agregue varios tipos de instancias a los grupos de nodos.
  • Utilice el gestor de terminación de nodos de AWS para los grupos de nodos autoadministrados.

Resolución

No utilice instancias de spot para trabajos que se ejecutan de forma prolongada o para aplicaciones con estado

La corta vida útil de las instancias de spot puede causar terminaciones no deseadas de trabajos de larga ejecución. También puede afectar a las aplicaciones con estado ya que estas no pueden tolerar las interrupciones. En su lugar, utilice instancias bajo demanda para trabajos de larga ejecución.

Utilizar grupos de nodos administrados con instancias de spot

Puede establecer el tipo de capacidad de un grupo de nodos administrados como spot. Posteriormente, el grupo de nodos administrados configura un grupo de escalado automático para utilizar el reequilibrio de capacidad de EC2 Auto Scaling. Cuando se activa el reequilibrio de capacidad de EC2 de un grupo de escalado automático y un nodo de spot recibe una recomendación de reequilibrio, Amazon EKS intenta reemplazar el nodo de spot.

Cuando el nuevo nodo de spot está listo, Amazon EKS separa y vacía el nodo de spot anterior. Esto contribuye a reducir el riesgo de que se corrompan los volúmenes de Amazon Elastic Block Store (Amazon EBS) o se interrumpan las conexiones de las bases de datos.

Agregar varios tipos de instancias a los grupos de nodos

Cada grupo de instancias de spot se compone de una capacidad de instancia EC2 no utilizada para un tipo de instancia específico en una zona de disponibilidad concreta. Cuando un grupo de nodos intenta aprovisionar un nuevo nodo, utiliza uno de los tipos de instancia definidos en su configuración. Si los tipos de instancia no tienen capacidad de spot en ninguna de las zonas de disponibilidad, el grupo de nodos no puede ajustarse y se degrada.

Para evitar este problema, aumente el número de tipos de instancia similares en el grupo de nodos.

Por ejemplo, tiene un tipo de instancia m5.large (2 vCPU/8 GiB RAM). Agregue instancias con los mismos valores de vCPU y RAM, como m5a.large, m5n.large y m4.large.

Utilizar el NTH de AWS para grupos de nodos autoadministrados

El Gestor de terminación de nodos (NTH) de AWS (desde el sitio web de GitHub) se implementa en un clúster de Amazon EKS como una implementación o DaemonSet. El NTH agrega capacidades a los grupos de nodos autoadministrados de las que carecen. Ayuda a los grupos de nodos autoadministrados a detectar y responder adecuadamente a los eventos de mantenimiento de Amazon EC2, a los avisos de interrupción de spot, a los eventos de grupo de escalado automático y a los reequilibrios de la zona de disponibilidad. Utilice la opción de Queue Processor (Procesador de colas) para agregar cada característica del NTH al grupo de nodos autoadministrados.

Utilizar Karpenter para administrar instancias de spot

Karpenter es un escalador automático de clústeres de código abierto que aprovisiona automáticamente nuevos nodos en respuesta a pods no programables. Karpenter también cuenta con características para reducir horizontalmente y consolidar nodos a fin de reducir los residuos y los costos. Utiliza la estrategia de asignación priorizada y optimizada para la capacidad a fin de aprovisionar instancias de EC2.

Karpenter utiliza todos los tipos de instancias de EC2 que están disponibles en las regiones y zonas de disponibilidad de AWS de un clúster de Amazon EKS para optimizar las instancias de spot. Puede utilizar Karpenter con la herramienta de selección de instancias de EC2 para generar una lista de tipos de instancias que cumplan con requisitos informáticos específicos. Al utilizar un conjunto diverso de tipos de instancias, puede reducir el riesgo de errores de capacidad insuficiente. También se recomienda distribuir las instancias en diferentes zonas de disponibilidad para utilizar diferentes grupos de spots.

Para obtener más información sobre las mejores prácticas y limitaciones de Karpenter, consulte las Prácticas recomendadas de Karpenter en GitHub.

Importante: Actualmente, Karpenter no puede gestionar la advertencia de dos minutos del Aviso de rescisión por interrupción de spot (ITN). Para solucionar este problema, puede instalar el NTH para acordonar y drenar correctamente los nodos de spot cuando se interrumpan.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año