Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Criar nós com AMIs do Amazon Linux otimizadas
A AMI do Amazon Linux otimizada para o Amazon EKS é desenvolvida com base no Amazon Linux 2 (AL2) e no Amazon Linux 2023 (AL2023). Está configurada para servir como imagem base para nós do Amazon EKS. A AMI é configurada para funcionar com o Amazon EKS e inclui os seguintes componentes:
-
kubelet
-
AWS IAM Authenticator
-
Docker(Amazon EKS versão
1.23
e anteriores) -
containerd
nota
-
É possível acompanhar eventos de segurança ou de privacidade para o AL2 no Amazon Linux Security Center
ou ao se tornar assinante do Feed RSS associado. Os eventos de segurança e privacidade incluem uma visão geral do problema, quais pacotes são afetadas e como atualizar suas instâncias para corrigir o problema. -
Antes de implantar uma AMI acelerada ou do Arm, analise as informações em AMIs do Amazon Linux aceleradas e otimizadas para Amazon EKS e AMIs Amazon Linux Arm otimizadas para Amazon EKS.
-
Para o Kubernetes versão
1.23
, você pode usar um sinalizador de bootstrap opcional para testar a migração de Docker paracontainerd
. Para obter mais informações, consulte Teste a migração do Amazon Linux 2 de Docker para containerd. -
A partir do Kubernetes versão
1.25
, não será mais possível usar instânciasP2
do Amazon EC2 com as AMIs aceleradas do Amazon Linux otimizadas para o Amazon EKS prontas para uso. Essas AMIs para o Kubernetes versões1.25
ou posteriores serão compatíveis com drivers sérieNVIDIA 525
ou posterior, que são incompatíveis com as instânciasP2
. No entanto, os drivers da sérieNVIDIA 525
ou posteriores são compatíveis com as instânciasP3
,P4
eP5
. Portanto, é possível usar essas instâncias com as AMIs para o Kubernetes versão1.25
ou posterior. Antes que seus clusters do Amazon EKS sejam atualizados para a versão1.25
, migre qualquer instânciaP2
para instânciasP3
,P4
eP5
. Você também deverá atualizar proativamente suas aplicações para funcionar com a sérieNVIDIA 525
ou posterior. Planejamos transferir os drivers da sérieNVIDIA 525
ou mais recente ou para as versões1.23
e1.24
do Kubernetes no final de janeiro de 2024. -
Todos os grupos de nós gerenciados recém-criados em clusters na versão
1.30
ou mais recente terão como padrão automático o uso do AL2023 como sistema operacional do nó. Anteriormente, os novos grupos de nós seriam padronizados para usar o AL2. É possível continuar a usar AL2 ao escolhê-lo como o tipo de AMI durante a criação de um novo grupo de nós. -
O suporte para o AL2 será encerrado em 30 de junho de 2025. Para obter mais informações, consulte Perguntas frequentes do Amazon Linux 2
.
AMIs do Amazon Linux aceleradas e otimizadas para Amazon EKS
nota
As AMIs aceleradas do Amazon EKS baseadas no AL2023 estarão disponíveis posteriormente. Caso tenha workloads aceleradas, você deverá continuar a usar a AMI acelerada do AL2 ou o Bottlerocket.
A AMI do Amazon Linux otimizada e acelerada para o Amazon EKS é desenvolvida sobre a AMI do Amazon Linux otimizada para o Amazon EKS padrão. A AMI está configurada para servir como uma imagem opcional para nós do Amazon EKS com a finalidade de oferecer suporte a workloads baseadas em GPU, no Inferentia
Além da configuração padrão da AMI otimizada para Amazon EKS, a AMI acelerada inclui o seguinte:
-
Drivers NVIDIA
-
nvidia-container-runtime
-
Driver do AWS Neuron
Para obter uma lista dos componentes mais recentes incluídos na AMI acelerada, consulte amazon-eks-ami
Releases
nota
-
A AMI acelerada, otimizada para o Amazon EKS, é compatível apenas com tipos de instâncias baseadas em GPU e Inferentia. Especifique esses tipos de instância no template do AWS CloudFormation do nó. Ao usar a AMI acelerada otimizada para o Amazon EKS, você concorda com o Contrato de licença do usuário final (EULA) da NVIDIA
. -
A AMI acelerada, otimizada para o Amazon EKS, era mencionada anteriormente como a AMI otimizada para o Amazon EKS compatível com GPU.
-
As versões anteriores da AMI acelerada, otimizada para o Amazon EKS, tinham o repositório
nvidia-docker
instalado. O repositório não está mais incluído na versãov20200529
da AMI para o Amazon EKS e posteriores.
Para habilitar workloads baseadas no AWS Neuron (acelerador de ML)
Para obter detalhes sobre workloads de treinamento e inferência usando o Neuron no Amazon EKS, consulte as seguintes referências:
-
Contêineres - Kubernetes - Começar a usar
, na Documentação do AWS Neuron -
Treinamento
em amostras do EKS do AWS Neuron no GitHub -
Implantar workloads de inferência de ML com o AWSInferentia no Amazon EKS
Para habilitar workloads baseadas em GPU
O procedimento a seguir descreve como executar uma workload em uma instância baseada em GPU com a AMI acelerada otimizada para o Amazon EKS.
-
Depois que seus nós de GPU ingressarem no cluster, você deverá aplicar o Plug-in de dispositivo NVIDIA para Kubernetes
como um DaemonSet em seu cluster. Substitua
pela versão desejada de NVIDIA/k8s-device-pluginvX.X.X
antes de executar o comando a seguir. kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/
vX.X.X
/deployments/static/nvidia-device-plugin.yml -
Você pode verificar se os nós têm GPUs alocáveis com o seguinte comando:
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"
Para implantar um Pod e testar se os nós da GPU estão configurados corretamente
-
Crie um arquivo denominado
nvidia-smi.yaml
com o seguinte conteúdo: Substitua
pela tag desejada paratag
nvidia/cuda
. Este manifesto inicia um contêiner NVIDIA CUDA que executa o nvidia-smi
em um nó.apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:
tag
args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1 -
Aplique o manifesto com o comando a seguir.
kubectl apply -f nvidia-smi.yaml
-
Após a execução do Pod ser concluída, visualize os logs com o comando a seguir.
kubectl logs nvidia-smi
Veja um exemplo de saída abaixo.
Mon Aug 6 20:23:31 20XX
+-----------------------------------------------------------------------------+ | NVIDIA-SMIXXX.XX
Driver Version:XXX.XX
| |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
AMIs Amazon Linux Arm otimizadas para Amazon EKS
As instâncias Arm oferecem uma economia significativa para aplicações de expansão e baseadas no Arm, como servidores Web, microsserviços conteinerizados, frotas de armazenamento em cache e datastores distribuídos. Ao adicionar nós do Arm ao cluster, revise as considerações a seguir.
Considerações
-
Se o cluster tiver sido implantado antes de 17 de agosto de 2020, será necessário fazer uma atualização única dos manifestos essenciais do complemento de cluster. Isso serve para que o Kubernetes possa extrair a imagem correta para cada arquitetura de hardware em uso em seu cluster. Para obter mais informações sobre como atualizar complementos do cluster, consulte Atualizar a versão do Kubernetes de um cluster do Amazon EKS. Se você implantou o cluster a partir de 17 de agosto de 2020, os complementos CoreDNS,
kube-proxy
e Amazon VPC CNI plugin for Kubernetes já têm capacidade para várias arquiteturas. -
As aplicações implantadas em nós do Arm devem ser compiladas para Arm.
-
Se tiver DaemonSets implantados em um cluster existente ou quiser implantá-los em um novo cluster no qual também queira implantar nós do Arm, verifique se o DaemonSet pode ser executado em todas as arquiteturas de hardware do cluster.
-
Você pode executar grupos de nós do Arm e grupos de nós x86 no mesmo cluster. Se o fizer, considere implantar imagens de contêiner de várias arquiteturas em um repositório de contêineres, como o Amazon Elastic Container Registry, e depois adicionar seletores de nós aos manifestos para que o Kubernetes saiba em que arquitetura de hardware um Pod pode ser implantado. Para obter mais informações, consulte Enviar uma imagem de várias arquiteturas no Guia do usuário do Amazon ECR e a publicação de blog Introducing multi-architecture container images for Amazon ECR
.
Mais informações
Para obter mais informações sobre o uso de AMIs Amazon Linux otimizadas para Amazon EKS, consulte as seguintes seções:
-
Para usar o Amazon Linux com grupos de nós gerenciados, consulte Simplificar o ciclo de vida dos nós com grupos de nós gerenciados.
-
Para iniciar nós autogerenciados do Amazon Linux, consulte Recuperar IDs de AMI do Amazon Linux recomendadas.
-
Para obter informações sobre versões, consulte Recuperar informações da versão da AMI do Amazon Linux.
-
Para recuperar os IDs mais recentes das AMIs Amazon Linux otimizadas para Amazon EKS, consulte Recuperar IDs de AMI do Amazon Linux recomendadas.
-
Para scripts de código aberto usados para criar a AMI otimizada do Amazon EKS, consulte Criar uma AMI do Amazon Linux personalizada com um script.