Desenvolvimento de uma AMI do Amazon Linux personalizada e otimizada para o EKS - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Desenvolvimento de uma AMI do Amazon Linux personalizada e otimizada para o EKS

Atenção

A partir de 26 de novembro de 2025, a Amazon EKS não publica mais AMIs do Amazon Linux 2 (AL2) otimizadas para o EKS. As AMIs baseadas no AL2023 e no Bottlerocket para o Amazon EKS estão disponíveis para todas as versões compatíveis com Kubernetes, incluindo a versão 1.33 e as versões posteriores.

O Amazon EKS fornece scripts de desenvolvimento de código aberto no repositório Amazon EKS AMI Build Specification que você pode usar para visualizar as configurações do kubelet, do runtime e do AWS IAM Authenticator for Kubernetes, além de criar sua própria AMI baseada no AL do zero.

Este repositório contém o script de inicialização especializado para AL2 e a ferramenta nodeadm para AL2023, que são executados no momento da inicialização. Esses scripts configuram os dados de certificado da instância, o endpoint do ambiente de gerenciamento, o nome do cluster e muito mais. Os scripts são considerados a fonte de verdade para os desenvolvimentos de AMIs otimizadas para o Amazon EKS, portanto, você pode acompanhar o repositório do GitHub para monitorar as alterações em nossas AMIs.

Ao criar AMIs personalizadas usando AMIs otimizadas para o EKS como base, não é recomendado nem suportado executar uma atualização do sistema operacional (por exemplo, dnf upgrade) ou atualizar qualquer um dos pacotes do Kubernetes ou de GPU incluídos nas AMIs otimizadas para o EKS, pois isso pode comprometer a compatibilidade entre os componentes. Se você optar por atualizar o sistema operacional ou os pacotes incluídos nas AMIs otimizadas para o EKS, é recomendável realizar testes completos em um ambiente de desenvolvimento ou de preparação antes da implantação em um ambiente de produção.

Ao criar AMIs personalizadas para instâncias de GPU, recomenda-se desenvolver AMIs personalizadas distintas para cada geração e família de instâncias que você pretende executar. As AMIs aceleradas e otimizadas para o EKS realizam a instalação seletiva de drivers e pacotes durante o runtime, de acordo com a geração e a família do tipo de instância subjacente. Para obter mais informações, consulte os scripts de instalação e de runtime das AMIs do EKS.

Pré-requisitos

Início rápido

Este guia de início rápido apresenta os comandos para criar uma AMI personalizada na conta da AWS. Para saber mais sobre as configurações disponíveis para personalizar sua AMI, consulte as variáveis de modelo na página Amazon Linux 2023.

Pré-requisitos

Instale o plug-in da Amazon necessário. Por exemplo:

packer plugins install github.com/hashicorp/amazon

Etapa 1. Configurar o ambiente

Clone ou bifurque o repositório oficial de AMIs do Amazon EKS. Por exemplo:

git clone https://github.com/awslabs/amazon-eks-ami.git cd amazon-eks-ami

Verifique se o Packer está instalado:

packer --version

Etapa 2. Criar uma AMI do personalizada

Veja a seguir exemplos de comando de várias AMIs personalizadas.

AMI do NVIDIA AL2 básica:

make k8s=1.31 os_distro=al2 \ enable_accelerator=nvidia \ nvidia_driver_major_version=560 \ enable_efa=true

AMI do NVIDIA AL2023 básica:

make k8s=1.31 os_distro=al2023 \ enable_accelerator=nvidia \ nvidia_driver_major_version=560 \ enable_efa=true

AMI do Neuron AL2023 compatível com 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

Depois de executar esses comandos, o Packer fará o seguinte: * Executará uma instância temporária do Amazon EC2. * Instalará componentes, drivers e configurações do Kubernetes. * Criará a AMI em sua conta da AWS.

A saída esperada deve ser semelhante a essa:

==> 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

Etapa 3. Visualizar valores padrão

Para visualizar valores padrão e opções adicionais, execute o seguinte comando:

make help