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 AL2023 de NVIDIA de EKS con la versión 595 del controlador de NVIDIA
importante
El tipo de instancia de EC2 G7 requiere la versión 595 o posterior del controlador de NVIDIA. Las AMI aceleradas optimizadas para EKS incluyen actualmente la versión 580 del controlador de NVIDIA, que no es compatible con las instancias G7. Debe crear una AMI personalizada con la versión 595 del controlador de NVIDIA para usar las instancias G7 con Amazon EKS.
Si utiliza Karpenter para el aprovisionamiento de nodos y el escalado automático, se recomienda excluir la familia de instancias g7 de los NodePools que utilizan la selección automática de AMI. Consulte amiSelectorTermsg7.
make k8s=1.36 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=595 \ enable_efa=true
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