View a markdown version of this page

Corrigindo servidores e contêineres Windows - Amazon EKS

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á.

Corrigindo servidores e contêineres Windows

A aplicação de patches no Windows Server é uma tarefa de gerenciamento padrão para administradores do Windows. Isso pode ser feito usando diferentes ferramentas, como Amazon System Manager - Patch Manager, WSUS, System Center Configuration Manager e muitas outras. No entanto, os nós do Windows em um cluster do Amazon EKS não devem ser tratados como servidores Windows comuns. Eles devem ser tratados como um servidor imutável. Simplificando, evite atualizar um nó existente, basta iniciar um novo com base em uma nova AMI atualizada.

Usando o EC2 Image Builder, você pode automatizar a criação de AMIs, criando receitas e adicionando componentes.

O exemplo a seguir mostra os componentes, que podem ser pré-existentes criados pela AWS (Amazon-managed), bem como os componentes que você cria (de minha propriedade). Preste muita atenção ao Amazon-managed componente chamado update-windows, que atualiza o Windows Server antes de gerar a AMI por meio do pipeline do EC2 Image Builder.

componentes associados

O EC2 Image Builder permite que você crie AMIs com base nas AMIs públicas gerenciadas da Amazon e as personalize para atender às suas necessidades comerciais. Em seguida, você pode associar essas AMIs aos modelos de lançamento, o que permite vincular uma nova AMI ao Auto Scaling Group criado pelo EKS Nodegroup. Depois que isso for concluído, você poderá começar a encerrar os nós existentes do Windows e novos serão lançados com base na nova AMI atualizada.

Empurrando e puxando imagens do Windows

A Amazon publica AMIs otimizadas para EKS que incluem duas imagens de contêiner do Windows em cache.

mcr.microsoft.com/windows/servercore mcr.microsoft.com/windows/nanoserver
imagens

As imagens em cache são atualizadas após as atualizações no sistema operacional principal. Quando a Microsoft lançar uma nova atualização do Windows que afeta diretamente a imagem base do contêiner do Windows, a atualização será lançada como uma atualização comum do Windows no sistema operacional principal. Manter o ambiente atualizado oferece um ambiente mais seguro nos níveis de nós e contêineres.

O tamanho de uma imagem de contêiner do Windows influencia push/pull as operações que podem levar a tempos de inicialização lentos do contêiner. O armazenamento em cache de imagens de contêiner do Windows permite que I/O operações caras (extração de arquivos) ocorram na criação da compilação da AMI, em vez da inicialização do contêiner. Como resultado, todas as camadas de imagem necessárias serão extraídas na AMI e estarão prontas para serem usadas, acelerando o tempo em que um contêiner do Windows é iniciado e pode começar a aceitar tráfego. Durante uma operação push, somente as camadas que compõem sua imagem são enviadas para o repositório.

O exemplo a seguir mostra que, no Amazon ECR, as imagens fluentd-windows-sac2004 têm apenas 390,18 MB. Essa é a quantidade de upload que aconteceu durante a operação push.

O exemplo a seguir mostra uma imagem ltsc fluente do Windows enviada para um repositório do Amazon ECR. O tamanho da camada armazenada no ECR é 533,05 MB.

imagem ecr

A saída abaixo do tamanho do docker image ls fluentd v1.14-windows-ltsc2019-1 é de 6,96 GB no disco, mas isso não significa que ele baixou e extraiu essa quantidade de dados.

Na prática, durante a operação de extração, somente os 533,05 MB compactados serão baixados e extraídos.

REPOSITORY TAG IMAGE ID CREATED SIZE 111122223333.dkr.ecr.us-east-1.amazonaws.com/fluentd-windows-coreltsc latest 721afca2c725 7 weeks ago 6.96GB fluent/fluentd v1.14-windows-ltsc2019-1 721afca2c725 7 weeks ago 6.96GB amazonaws.com/eks/pause-windows latest 6392f69ae6e7 10 months ago 255MB

A coluna de tamanho mostra o tamanho geral da imagem, 6,96 GB. Detalhando:

  • Imagem básica LTSC do Windows Server Core 2019 = 5,74 GB

  • Imagem base não compactada Fluentd = 6,96 GB

  • Diferença no disco = 1,2 GB

  • Imagem final comprimida Fluentd ECR = 533,05 MB

A imagem base já existe no disco local, resultando na quantidade total em disco de 1,2 GB a mais. Na próxima vez que você ver a quantidade de GBs na coluna de tamanho, não se preocupe muito, provavelmente mais de 70% já estão no disco como uma imagem de contêiner em cache.

Referência

Acelerando os tempos de lançamento de contêineres do Windows com o EC2 Image Builder e a estratégia de cache de imagens