As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Gerenciamento otimizado de AMI do Windows para Amazon EKS
O Windows Amazon EKS otimizado AMIs foi desenvolvido com base no Windows Server 2019 e no Windows Server 2022. Elas são configuradas para servirem como imagem base para nós do Amazon EKS. Por padrão, AMIs incluem os seguintes componentes:
Você pode recuperar programaticamente o ID da Amazon Machine Image (AMI) para o Amazon EKS otimizado AMIs consultando a API AWS Systems Manager Parameter Store. Esse parâmetro elimina a necessidade de você pesquisar manualmente a AMI otimizada do Amazon EKS IDs. Para obter mais informações sobre a API Systems Manager Parameter Store, consulte GetParameter. Sua conta de usuário deve ter a permissão ssm: GetParameter IAM para recuperar os metadados otimizados da AMI do Amazon EKS.
O exemplo a seguir recupera o ID da AMI da AMI otimizada mais recente do Amazon EKS para Windows Server 2019 LTSC Core. O número da versão listado no nome da AMI está relacionado à compilação correspondente do Kubernetes para a qual ela está preparada.
aws ssm get-parameter --name /aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-1.21/image_id --region us-east-1 --query "Parameter.Value" --output text
Resultado do exemplo:
ami-09770b3eec4552d4e
Gerenciando sua própria AMI Windows otimizada para Amazon EKS
Uma etapa essencial em direção aos ambientes de produção é manter a mesma AMI do Windows otimizada para Amazon EKS e a mesma versão kubelet em todo o cluster do Amazon EKS.
Usar a mesma versão em todo o cluster Amazon EKS reduz o tempo durante a solução de problemas e aumenta a consistência do cluster. O Amazon EC2 Image Builder
Use o Amazon EC2 Image Builder para selecionar entre as versões do Windows Server, as datas de lançamento da AMI do AWS Windows Server e a versão de compilação do and/or sistema operacional. A etapa de criação de componentes permite que você selecione entre os artefatos do Windows otimizados para EKS existentes e as versões do kubelet. Para obter mais informações: https://docs.aws.amazon.com/eks/latest/userguide/eks- custom-ami-windows .html

OBSERVAÇÃO: Antes de selecionar uma imagem base, consulte a seção Versão e Licença do Windows Server para obter detalhes importantes sobre as atualizações do canal de lançamento.
Configurando um lançamento mais rápido para EKS personalizado otimizado AMIs
Ao usar uma AMI personalizada otimizada para Windows Amazon EKS, os nós de trabalho do Windows podem ser iniciados até 65% mais rápido ao ativar o recurso Fast Launch. Esse recurso mantém um conjunto de instantâneos pré-provisionados que têm a especialização Sysprep, as etapas do Windows Out of Box Experience (OOBE) e as reinicializações necessárias já concluídas. Esses instantâneos são então usados em lançamentos subsequentes, reduzindo o tempo de expansão ou substituição de nós. O Fast Launch só pode ser habilitado para AMIs você por meio do EC2 console ou da AWS CLI, e o número de snapshots mantidos é configurável.
OBSERVAÇÃO: O Fast Launch não é compatível com a AMI otimizada para EKS padrão fornecida pela Amazon. Crie uma AMI personalizada conforme descrito acima antes de tentar ativá-la.
Para obter mais informações: AWS Windows AMIs - Configure sua AMI para um lançamento mais rápido
Armazenando camadas base do Windows em cache de forma personalizada AMIs
As imagens de contêiner do Windows são maiores do que as do Linux. Se você estiver executando qualquer aplicativo em contêineres baseado em o.NET Framework, o tamanho médio da imagem é de cerca de 8,24 GB. Durante o agendamento do pod, a imagem do contêiner deve ser totalmente extraída e extraída no disco antes que o pod alcance o status Running.
Durante esse processo, o tempo de execução do contêiner (containerd) extrai e extrai toda a imagem do contêiner no disco. A operação de extração é um processo paralelo, o que significa que o tempo de execução do contêiner puxa as camadas da imagem do contêiner em paralelo. Por outro lado, a operação de extração ocorre em um processo sequencial e é I/O intensiva. Por isso, a imagem do contêiner pode levar mais de 8 minutos para ser totalmente extraída e pronta para ser usada pelo tempo de execução do contêiner (containerd) e, como resultado, o tempo de inicialização do pod pode levar vários minutos.
Conforme mencionado no tópico Patching Windows Server and Container, há uma opção para criar uma AMI personalizada com o EKS. Durante a preparação da AMI, você pode adicionar um componente adicional do EC2 Image Builder para extrair localmente todas as imagens de contêiner do Windows necessárias e, em seguida, gerar a AMI. Essa estratégia reduzirá drasticamente o tempo em que um pod atinge o status Executando.
No Amazon EC2 Image Builder, crie um componente para baixar as imagens necessárias e anexá-las à receita da imagem. O exemplo a seguir extrai uma imagem específica de um repositório ECR.
name: ContainerdPull description: This component pulls the necessary containers images for a cache strategy. schemaVersion: 1.0 phases: - name: build steps: - name: containerdpull action: ExecutePowerShell inputs: commands: - Set-ExecutionPolicy Unrestricted -Force - (Get-ECRLoginCommand).Password | docker login --username AWS --password-stdin 111000111000.dkr.ecr.us-east-1.amazonaws.com - ctr image pull mcr.microsoft.com/dotnet/framework/aspnet:latest - ctr image pull 111000111000.dkr.ecr.us-east-1.amazonaws.com/myappcontainerimage:latest
Para garantir que o componente a seguir funcione conforme o esperado, verifique se a função do IAM usada pelo EC2 Image builder (EC2InstanceProfileForImageBuilder) tem as políticas anexadas:

Publicação no blog
Na postagem do blog a seguir, você encontrará um passo a passo sobre como implementar a estratégia de armazenamento em cache para o Amazon EKS Windows AMIs personalizado: