Uso de AMI aceleradas optimizadas para EKS para instancias de GPU - 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.

Uso de AMI aceleradas optimizadas para EKS para instancias de GPU

Amazon EKS admite las AMI de Amazon Linux y Bottlerocket optimizadas para EKS para instancias de GPU. Las AMI aceleradas optimizadas para EKS simplifican la ejecución de cargas de trabajo de IA y ML en los clústeres de EKS al proporcionar imágenes del sistema operativo validadas y prediseñadas para la pila de Kubernetes acelerada. Además de los componentes principales de Kubernetes que se incluyen en las AMI estándar optimizadas para EKS, las AMI aceleradas optimizadas para EKS incluyen los módulos de kernel y los controladores necesarios para ejecutar las instancias de EC2 GP de GPU de NVIDIA y las instancias de EC2 de GPU de AWS Inferentia y Trainium en los clústeres de EKS.

En la siguiente tabla, se muestran los tipos de instancias de GPU compatibles para cada variante de AMI acelerada optimizada para EKS. Consulte las versiones de AL2023 y las versiones de Bottlerocket optimizadas para EKS en GitHub para ver las actualizaciones más recientes de las variantes de AMI.

Variante de AMI de EKS Tipos de instancias de EC2

AL2023 x86_64 de NVIDIA

p6-b300, p6-b200, p5, p5e, p5en, p4d, p4de, p3, p3dn, gr6, g6, g6e, g6f, gr6f, g5, g4dn

ARM de AL2023 de NVIDIA

p6e-gb200, g5g

AL2023 x86_64 de Neuron

inf1, inf2, trn1, trn2

Bottlerocket x86_64 aws-k8s-nvidia

p6-b300, p6-b200, p5, p5e, p5en, p4d, p4de, p3, p3dn, gr6, g6, g6e, g6f, gr6f, g5, g4dn

Bottlerocket aarch64/arm64 aws-k8s-nvidia

g5g

Bottlerocket x86_64 aws-k8s

inf1, inf2, trn1, trn2

AMI de NVIDIA optimizadas para EKS

Al utilizar las AMI de NVIDIA optimizadas para EKS, acepta el Contrato de licencia de usuario final (EULA) de NVIDIA para la nube.

Para encontrar las AMI de NVIDIA optimizadas para EKS más recientes, consulte Obtención de los ID de AMI de Amazon Linux recomendados y Recuperación de los ID de AMI de Bottlerocket recomendados.

Si utiliza Amazon Elastic Fabric Adaptor (EFA) con las AMI de NVIDIA de AL2023 o Bottlerocket optimizadas para EKS, debe instalar el complemento para dispositivos de EFA por separado. Para obtener más información, consulte Impartición de formación en machine learning en Amazon EKS con Elastic Fabric Adapter.

AMI de NVIDIA de AL2023 de EKS

Cuando utilice el operador de GPU de NVIDIA con las AMI de NVIDIA de AL2023 optimizadas para EKS, debe desactivar la instalación del controlador y el kit de herramientas por parte del operador, ya que se incluyen en las AMI de EKS. Las AMI de NVIDIA de AL2023 optimizadas para EKS no incluyen el complemento para dispositivos de Kubernetes de NVIDIA ni el controlador NVIDIA de DRA, que deben instalarse por separado. Para obtener más información, consulte Instalación del complemento para dispositivos de Kubernetes de NVIDIA.

Además de los componentes estándar de AMI de EKS, las AMI de NVIDIA de AL2023 optimizadas para EKS incluyen los siguientes componentes.

  • Controlador de NVIDIA

  • Controlador de modo de usuario CUDA de NVIDIA

  • Kit de herramientas de contenedores de NVIDIA

  • NVIDIA Fabric Manager

  • NVIDIA con persistencia

  • Controlador de IMEX de NVIDIA

  • Administrador de subredes NVLink de NVIDIA

  • EFA mínimo (módulo de kernel y rdma-core)

Para obtener más información sobre el controlador de modo de usuario CUDA de NVIDIA y el tiempo de ejecución y las bibliotecas de CUDA que se utilizan en los contenedores de aplicaciones, consulte la documentación de NVIDIA. La versión de CUDA que se muestra en nvidia-smi es la versión del controlador de modo de usuario CUDA de NVIDIA instalada en el host, que debe ser compatible con el tiempo de ejecución y las bibliotecas de CUDA que se utilizan en los contenedores de aplicaciones.

Las AMI de NVIDIA de AL2023 optimizadas para EKS admiten el kernel 6.12 para las versiones 1.33 y posteriores de Kubernetes, y la versión 580 del controlador de NVIDIA para todas las versiones de Kubernetes. Se requiere el controlador de NVIDIA 580 para utilizar CUDA 13+.

Consulte las versiones de AL2023 optimizadas para EKS en GitHub para obtener información sobre las versiones de los componentes incluidas en las AMI. Consulte el script de instalación de la AMI de NVIDIA de AL2023 de EKS y el script de carga del kernel para obtener información sobre cómo las AMI de EKS configuran las dependencias de NVIDIA. Puede encontrar la lista de paquetes instalados y sus versiones en una instancia de EC2 en ejecución con el comando dnf list installed.

Al crear AMI personalizadas con las AMI optimizadas para EKS como base, no se recomienda ni se admite ejecutar una actualización del sistema operativo (por ejemplo, dnf upgrade) ni actualizar cualquiera de los paquetes de Kubernetes o GPU que se incluyen en las AMI optimizadas para EKS, ya que se corre el riesgo de interrumpir la compatibilidad de los componentes. Si actualiza el sistema operativo o los paquetes que se incluyen en las AMI optimizadas para EKS, se recomienda llevar a cabo pruebas exhaustivas en un entorno de desarrollo o ensayo antes de implementarlas en producción.

Al crear AMI personalizadas para instancias de GPU, se recomienda crear AMI personalizadas independientes para cada familia y generación del tipo de instancia que vaya a ejecutar. Las AMI aceleradas optimizadas para EKS instalan de forma selectiva los controladores y paquetes en tiempo de ejecución en función de la familia y generación del tipo de instancia subyacentes. Para obtener más información, consulte los scripts de AMI de EKS para la instalación y el tiempo de ejecución.

AMI de NVIDIA de Bottlerocket de EKS

Cuando utilice el operador de GPU de NVIDIA con las AMI de NVIDIA de Bottlerocket optimizadas para EKS, debe desactivar la instalación del controlador, el kit de herramientas y el complemento para dispositivos por parte del operador, ya que se incluyen en las AMI de EKS.

Además de los componentes estándar de AMI de EKS, las AMI de NVIDIA de Bottlerocket optimizadas para EKS incluyen los siguientes componentes. Las dependencias mínimas de EFA (módulo del kernel y rdma-core) están instaladas en todas las variantes de Bottlerocket.

  • Complemento para dispositivos de Kubernetes de NVIDIA

  • Controlador de NVIDIA

  • Controlador de modo de usuario CUDA de NVIDIA

  • Kit de herramientas de contenedores de NVIDIA

  • NVIDIA Fabric Manager

  • NVIDIA con persistencia

  • Controlador de IMEX de NVIDIA

  • Administrador de subredes NVLink de NVIDIA

  • MIG Manager de NVIDIA

Para obtener más información sobre el controlador de modo de usuario CUDA de NVIDIA y el tiempo de ejecución y las bibliotecas de CUDA que se utilizan en los contenedores de aplicaciones, consulte la documentación de NVIDIA. La versión de CUDA que se muestra en nvidia-smi es la versión del controlador de modo de usuario CUDA de NVIDIA instalada en el host, que debe ser compatible con el tiempo de ejecución y las bibliotecas de CUDA que se utilizan en los contenedores de aplicaciones.

Consulte la información sobre la versión de Bottlerocket en la documentación de Bottlerocket para obtener detalles sobre los paquetes instalados y sus versiones. Las AMI de NVIDIA de Bottlerocket optimizadas para EKS admiten el kernel 6.12 para las versiones 1.33 y posteriores de Kubernetes, y la versión 580 del controlador de NVIDIA para las versiones 1.34 y posteriores de Kubernetes. Se requiere el controlador de NVIDIA 580 para utilizar CUDA 13+.

AMI de Neuron optimizadas para EKS

Para obtener información sobre cómo ejecutar cargas de trabajo de entrenamiento e inferencia que utilizan Neuron con Amazon EKS, consulte las siguientes referencias:

Para encontrar las AMI de Neuron optimizadas para EKS más recientes, consulte Obtención de los ID de AMI de Amazon Linux recomendados y Recuperación de los ID de AMI de Bottlerocket recomendados.

Si utiliza Amazon Elastic Fabric Adaptor (EFA) con las AMI de Neuron de AL2023 o Bottlerocket optimizadas para EKS, debe instalar el complemento para dispositivos de EFA por separado. Para obtener más información, consulte Impartición de formación en machine learning en Amazon EKS con Elastic Fabric Adapter.

AMI de Neuron de AL2023 de EKS

Las AMI de Neuron de AL2023 optimizadas para EKS no incluyen el complemento para dispositivos de Kubernetes de Neuron ni la extensión del programador de Kubernetes de Neuron, que deben instalarse por separado. Para obtener más información, consulte Instalación del complemento para dispositivos de Kubernetes de Neuron.

Además de los componentes estándar de AMI de EKS, las AMI de Neuron de AL2023 optimizadas para EKS incluyen los siguientes componentes.

  • Controlador de Neuron (aws-neuronx-dkms)

  • Herramientas de Neuron (aws-neuronx-tools)

  • EFA mínimo (módulo de kernel y rdma-core)

Consulte el script de instalación de la AMI de Neuron de AL2023 de EKS para obtener información sobre cómo las AMI de EKS configuran las dependencias de Neuron. Consulte las versiones de AL2023 optimizadas para EKS en GitHub para ver las versiones de los componentes incluidas en las AMI. Puede encontrar la lista de paquetes instalados y sus versiones en una instancia de EC2 en ejecución con el comando dnf list installed.

AMI de Neuron de Bottlerocket de EKS

Las variantes estándar de Bottlerocket (aws-k8s) incluyen las dependencias de Neuron, que se detectan y cargan automáticamente cuando se ejecutan en instancias de EC2 de AWS Inferentia o Trainium.

Las AMI de Bottlerocket optimizadas para EKS no incluyen el complemento para dispositivos de Kubernetes de Neuron ni la extensión del programador de Kubernetes de Neuron, que deben instalarse por separado. Para obtener más información, consulte Instalación del complemento para dispositivos de Kubernetes de Neuron.

Además de los componentes estándar de AMI de EKS, las AMI de Neuron de Bottlerocket optimizadas para EKS incluyen los siguientes componentes.

  • Controlador de Neuron (aws-neuronx-dkms)

  • EFA mínimo (módulo de kernel y rdma-core)

Al utilizar las AMI de Bottlerocket optimizadas para EKS con instancias de Neuron, se debe configurar lo siguiente en los datos del usuario de Bottlerocket. Esta configuración permite que el contenedor obtenga la propiedad del dispositivo de Neuron montado en función de los valores runAsUser y runAsGroup proporcionados en la especificación de la carga de trabajo. Para obtener más información sobre la compatibilidad de Neuron con Bottlerocket, consulte Quickstart on EKS readme en GitHub.

[settings] [settings.kubernetes] device-ownership-from-security-context = true

Consulte el registro de cambios del kit de kernel de Bottlerocket para obtener información sobre la versión del controlador de Neuron incluida en las AMI de Bottlerocket optimizadas para EKS.