Partilhar via


Práticas recomendadas para contêineres do Windows no Serviço Kubernetes do Azure (AKS)

No AKS, pode criar pools de nós que executam Linux ou Windows Server como sistema operativo (SO) dos nós. Os nós do Windows Server podem executar aplicativos de contêiner nativos do Windows, como o .NET Framework. O sistema operacional Linux e o sistema operacional Windows têm diferentes considerações de configuração e suporte a contêineres. Para obter mais informações, consulte Considerações sobre contêineres do Windows no Kubernetes. Para saber mais sobre como vários setores estão usando contêineres do Windows no AKS, consulte Histórias de clientes do Windows AKS.

Este artigo descreve as práticas recomendadas para executar contêineres do Windows no AKS.

Criar um cluster AKS com pools de nós de Linux e de Windows

Quando você cria um novo cluster AKS, a plataforma Azure cria um pool de nós Linux por padrão. Esse pool de nós contém os serviços do sistema necessários para que o cluster funcione. O Azure também cria e gerencia um plano de controle abstraído do usuário, o que significa que você não está exposto ao sistema operacional subjacente dos nós que hospedam os componentes principais do plano de controle. Recomendamos que você execute pelo menos dois nós no pool de nós Linux padrão para garantir a confiabilidade e o desempenho do cluster. Você não pode excluir o pool de nós Linux padrão, a menos que exclua todo o cluster.

Há alguns casos em que você deve considerar a implantação de um pool de nós Linux ao planejar executar cargas de trabalho baseadas no Windows em seu cluster AKS, como:

  • Se quiser executar cargas de trabalho do Linux e do Windows, você pode implantar um pool de nós Linux e um pool de nós do Windows no mesmo cluster.
  • Se você quiser implantar componentes relacionados à infraestrutura baseados no Linux, como NGINX, precisará de um pool de nós Linux ao lado do pool de nós do Windows. Você pode usar nós do plano de controlo para cenários de desenvolvimento e teste. Para cargas de trabalho de produção, recomendamos que você implante pools de nós Linux separados para garantir confiabilidade e desempenho.

Modernize os aplicativos existentes com o Windows no AKS

Você pode querer contentorizar aplicativos existentes e executá-los usando o Windows no AKS. Antes de iniciar o processo de conteinerização, é importante entender a arquitetura e as dependências do aplicativo. Para obter mais informações, consulte Containerizar aplicativos existentes usando contêineres do Windows.

Versão do sistema operacional Windows

Orientações sobre boas práticas

O Windows Server 2022 oferece segurança e desempenho aprimorados e é o sistema operacional recomendado para pools de nós do Windows no AKS. O AKS usa o Windows Server 2022 como a versão do sistema operacional host e suporta apenas o isolamento do processo.

O AKS suporta duas opções para o sistema operacional Windows Server: LTSC (Long Term Servicing Channel Releases) e Windows Server Annual Channel for Containers.

  1. O AKS suporta LTSC (Long Term Servicing Channel Releases), incluindo Windows Server 2025 (visualização), Windows Server 2022 e Windows Server 2019. Este canal é lançado a cada três anos e é suportado por cinco anos. Os clientes que usam o Suporte de Longo Prazo (LTS) devem usar o Windows Server 2022.

    O AKS usa o Windows Server 2019 e o Windows Server 2022 como as versões do sistema operacional host e suporta apenas o isolamento do processo. O AKS não suporta imagens de contêiner criadas por outras versões do Windows Server. Para obter mais informações, consulte Compatibilidade de versão de contêiner do Windows. O Windows Server 2022 é o sistema operacional padrão para o Kubernetes versão 1.25 e posterior.

    Nota

    • O Windows Server 2019 encerra-se a 1 de março de 2026. Após essa data, o AKS deixará de produzir novas imagens de nós nem fornecerá atualizações de segurança. Após essa data, não poderá criar novos pools de nós com o Windows Server 2019 em nenhuma versão do Kubernetes. Todos os pools de nós existentes com o Windows Server 2019 não serão suportados. O Windows Server 2019 não é suportado no Kubernetes versão 1.33 e superiores. A partir de 1 de abril de 2027, o AKS removerá todas as imagens de nós existentes para o Windows Server 2019, o que significa que as operações de escalação falharão.
    • O Windows Server 2022 encerra-se a 15 de março de 2027. Após essa data, o AKS deixará de produzir novas imagens de nós nem fornecerá atualizações de segurança. Depois dessa data, não poderá criar pools de nós novos com Windows Server 2022 em qualquer versão do Kubernetes. Todos os pools de nós existentes com o Windows Server 2022 não serão suportados. O Windows Server 2022 não é suportado na versão 1.36 do Kubernetes e superiores. A partir de 1 de abril de 2028, o AKS irá remover todas as imagens de nós existentes para o Windows Server 2022, o que significa que as operações de escalabilidade irão falhar.

    Para mais informações, consulte as notas de versão do AKS. Para se manter atualizado sobre as versões mais recentes do sistema operacional Windows Server e saber mais sobre nosso roteiro do que está planejado para suporte no AKS, consulte nosso roteiro público do AKS.

  2. O AKS suporta o Canal Anual do Windows Server para Contentores (visualização). Este canal é lançado anualmente e é suportado por dois anos. Este canal é benéfico para os clientes que necessitam de maiores ciclos de inovação e portabilidade. A funcionalidade de portabilidade permite que o sistema operacional de imagem de contêiner baseado no Windows Server 2022 seja executado em versões mais recentes do sistema operacional host do Windows Server, como a nova versão anual do canal.

    As versões do Canal Anual do Windows são baseadas na versão do Kubernetes do seu pool de nós. Para atualizar de uma versão do Canal Anual para a próxima, atualize para uma versão do Kubernetes que suporte a próxima versão do Canal Anual. Para obter mais informações, consulte Canal Anual do Windows Server para Contentores no AKS.

Monitorização

Orientações sobre boas práticas

O Exportador do Windows é instalado em todos os nós do Windows em determinadas regiões. Para visualizar a distribuição regional, consulte AKS Github. Com o Managed Prometheus e o Grafana, é possível monitorizar os coletores padrão incluídos no Windows Exporter no AKS. Para obter mais informações, consulte Métricas padrão do Prometheus configuradas no Azure Monitor.

O Windows Exporter permite que os clientes vejam as suas métricas por meio de implantações do Managed Prometheus ou Prometheus OSS e beneficiem de uma observabilidade aprimorada em torno do desempenho, da saúde e do uso de recursos do nó e do pod. Essas métricas também são visíveis com o Managed Grafana.

  • Ao habilitar o prometheus gerenciado, adicione este parâmetro necessário para a apresentação correta dos dados do painel para Windows: --enable-windows-recording-rules.
  • O Grafana inclui painéis para mostrar recursos do Windows, como:
    • Kubernetes / Recursos de computação / Cluster (Windows)
    • Kubernetes / Recursos de computação / Namespace (Windows)
    • Kubernetes / Recursos de computação / Pod (Windows)
    • Kubernetes / Método USE / Cluster (Windows)
    • Kubernetes / Método USE / Nó (Windows)

Os coletores padrão incluídos no Exportador do Windows no AKS são: cpu, cpu_info, cs, container, logical_disk, memory, net, os, process, service, system, textfile. As métricas são disponibilizadas na porta 19182 do nó Windows. Para obter mais informações sobre quais métricas você pode ver usando esses coletores, consulte prometheus-community/windows_exporter.

Rede

Modos de rede

Orientações sobre boas práticas

Os clusters AKS com pools de nós do Windows suportam apenas a Interface de Rede de Contêineres do Azure (Azure CNI) e usam-na por padrão.

O Windows não suporta rede kubenet. Os clusters AKS que possuem pools de nós do Windows devem utilizar o Azure CNI. Para obter mais informações, consulte Conceitos de rede para aplicativos no AKS.

O Azure CNI oferece dois modos de rede com base nos seus requisitos de carga de trabalho:

  • Azure CNI Overlay é uma rede de sobreposição semelhante ao kubenet. A rede de sobreposição permite que você utilize IPs de redes virtuais (VNet) para os nós e espaços de endereços privados para pods dentro desses nós, que podem ser reutilizados em todo o cluster. A Sobreposição CNI do Azure é o modo recomendado de ligação em rede. Ele fornece configuração e gerenciamento de rede simplificados e a melhor escalabilidade em rede AKS.
  • O Azure CNI com Alocação Dinâmica de IP requer planejamento e consideração adicionais para o gerenciamento de endereços IP. Este modo fornece IPs VNet para nós e pods. Esta configuração permite o acesso direto a IPs dos pods. No entanto, ele vem com maior complexidade e escalabilidade reduzida.

Para ajudá-lo a decidir qual modo de rede usar, consulte Escolhendo um modelo de rede.

Políticas de rede

Orientações sobre boas práticas

Use políticas de rede para proteger o tráfego entre pods. O Windows suporta o Azure Network Policy Manager e o Calico Network Policy. Para obter mais informações, consulte Diferenças entre mecanismos de Diretiva de Rede: Cilium, Azure NPM e Calico.

Ao gerenciar o tráfego entre pods, você deve aplicar o princípio do menor privilégio. O recurso Política de Rede no Kubernetes permite definir e aplicar regras de tráfego de entrada e saída entre os pods em seu cluster. Para obter mais informações, consulte Proteger o tráfego entre pods usando políticas de rede no AKS.

Os pods do Windows em clusters AKS que usam a Política de Rede Calico habilitam o IP flutuante por padrão.

Upgrades e atualizações

É importante manter seu ambiente Windows atualizado para garantir que seus sistemas tenham as atualizações de segurança, conjuntos de recursos e requisitos de conformidade mais recentes. Em um ambiente Kubernetes como o AKS, você precisa manter a versão do Kubernetes, os nós do Windows e as imagens e pods de contêiner do Windows.

Atualizações de versão do Kubernetes

Como um serviço Kubernetes gerenciado, o AKS fornece as ferramentas necessárias para atualizar seu cluster para a versão mais recente do Kubernetes. Para obter mais informações, veja Atualizar um cluster do AKS.

Atualizações mensais do sistema Windows

Os nós do Windows no AKS seguem um cronograma de atualização mensal. Todos os meses, o AKS cria um novo VHD com as últimas atualizações disponíveis para pools de nós do Windows. O VHD inclui a imagem do host, a imagem mais recente do Nano Server, a mais recente do Server Core, e o contentor. Recomendamos a realização de atualizações mensais nos pools de nós do Windows para garantir que os nós tenham os patches de segurança mais recentes. Para mais informações, consulte Atualização das imagens de nós AKS.

Nota

As atualizações dos sistemas Windows incluem tanto as atualizações de versão do sistema operacional como as atualizações mensais do sistema operacional em cada nó.

Você pode manter-se atualizado com a disponibilidade de novas versões mensais usando o rastreador de versões do AKS e as notas de versão do AKS.

Atualizações da versão do sistema operativo do nó do Windows

O Windows tem uma cadência de lançamento para novas versões do sistema operacional, incluindo Windows Server 2025 (visualização), Windows Server 2022 e Windows Server 2019. Ao atualizar a versão do sistema operativo de nó do Windows, certifique-se de que a versão da imagem do contêiner do Windows coincide com a versão do host do contêiner do Windows e que os pools de nós possuem apenas uma versão do Windows Server.

Para atualizar a versão do sistema operativo do nó Windows, é necessário seguir os seguintes passos:

  1. Crie um novo pool de nós com a nova versão do Windows Server.
  2. Implante suas cargas de trabalho com as novas imagens de contêiner do Windows no novo pool de nós.
  3. Desative o pool de nós antigo.

Para obter mais informações, consulte Atualizar cargas de trabalho do Windows Server no AKS.

Nota

O Windows anunciou um novo Canal Anual do Windows Server para Contêineres que oferece suporte à portabilidade e versões mistas de nós e contêineres do Windows. Este recurso ainda não é suportado no AKS.

Para acompanhar as funcionalidades do AKS, consulte o roteiro público do AKS.

Próximos passos

Para saber mais sobre contêineres do Windows no AKS, consulte os seguintes recursos: