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.
Creación de una AMI de Amazon Linux optimizada para EKS personalizada
aviso
Amazon EKS dejó de publicar las AMI optimizadas para EKS de Amazon Linux 2 (AL2) el 26 de noviembre de 2025. Las AMI basadas en AL2023 y Bottlerocket para Amazon EKS están disponibles para todas las versiones de Kubernetes compatibles, lo que incluye la versión 1.33 y posteriores.
Amazon EKS proporciona scripts de creación de código abierto en el repositorio de especificaciones de creación de la AMI de Amazon EKSkubelet, el tiempo de ejecución y el autenticador de AWS IAM para Kubernetes, así como crear su propia AMI basada en AL desde cero.
Este repositorio contiene el script de arranque para AL2
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
Requisitos previos
Instale el complemento de Amazon
packer plugins install github.com/hashicorp/amazon
Verifique que Packer esté instalado.
packer --version
Clone o bifurque el repositorio de AMI oficial de Amazon EKS.
git clone https://github.com/awslabs/amazon-eks-ami.git cd amazon-eks-ami
Para ver los valores predeterminados y las opciones adicionales, ejecute el siguiente comando. Para obtener más información sobre las configuraciones disponibles para personalizar la AMI, consulte las variables de plantilla en la página Amazon Linux 2023
make help
Para crear una AMI de personalizada
A continuación, se muestran ejemplos de comandos para varias AMI personalizadas.
AMI de AL2 de NVIDIA de EKS
make k8s=1.32 os_distro=al2 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
AMI de AL2023 de NVIDIA de EKS
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=580 \ enable_efa=true
AMI de NVIDIA AL2023 para EKS con versiones personalizadas del controlador
La AMI de NVIDIA AL2023 optimizada para EKS incluye dos versiones de controladores de NVIDIA en una sola imagen. Cada nodo selecciona de forma automática el controlador adecuado para su GPU al arrancar. A partir de la versión v20260917nvidia_driver_lts_version y nvidia_driver_pb_version de forma conjunta.
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_lts_version=580 \ nvidia_driver_pb_version=610 \ enable_efa=true
nota
La lógica de selección del controlador NVIDIA de la AMI de EKS AL2023 se ejecuta en tiempo de ejecución, pero se activa de forma anticipada si la AMI se crea en una instancia acelerada de EC2. Como resultado, si crea una AMI personalizada en una instancia EC2 acelerada que, de forma predeterminada, usa el controlador 580 de NVIDIA (como g6 o g7e), no podrá implementar esa AMI personalizada en una instancia EC2 acelerada que requiera una versión posterior del controlador NVIDIA (por ejemplo, g7, que requiere el controlador 595). Para evitar este problema, cree las AMI personalizadas en instancias de EC2 sin aceleración (como m6) y, a continuación, úselas en cualquier instancia de EC2 acelerada. Este enfoque conserva la lógica de selección de controladores NVIDIA de la AMI EKS AL2023.
AMI de Neuron AL2023 compatible con STIG:
make k8s=1.31 os_distro=al2023 \ enable_accelerator=neuron \ enable_fips=true \ source_ami_id=ami-0abcd1234efgh5678 \ kms_key_id=alias/aws-stig
Después de ejecutar estos comandos, Packer hará lo siguiente:
-
Lanzará una instancia de Amazon EC2 temporal.
-
Instalará los componentes, los controladores y las configuraciones de Kubernetes.
-
Creará la AMI en su cuenta de AWS.
El resultado esperado debe tener el siguiente aspecto:
==> Wait completed after 8 minutes 42 seconds ==> Builds finished. The artifacts of successful builds are: --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9 --> amazon-ebs: AMIs were created: us-west-2: ami-0e139a4b1a7a9a3e9