Práticas recomendadas para contêineres do Windows no AKS (Serviço de Kubernetes do Azure)
No AKS, você pode criar pools de nós que executam o Linux ou o Windows Server como o sistema operacional (SO) nos 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 suporte e configuração de contêiner. Para obter mais informações, consulte Considerações de contêiner do Windows no Kubernetes. Para saber mais sobre como vários setores estão usando contêineres do Windows no AKS, confira as histórias de clientes do AKS no Windows.
Este artigo descreve as práticas recomendadas para executar contêineres do Windows no AKS.
Criar um cluster do AKS com pools de nós do Linux e do Windows
Quando você cria um novo cluster do AKS, a plataforma do Azure cria um pool de nós do Linux por padrão. Esse pool de nós contém serviços do sistema exigidos 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 do plano de controle principal. Recomendamos que você execute pelo menos dois nós no pool de nós do Linux padrão para garantir a confiabilidade e o desempenho do cluster. Você não pode excluir o pool de nós padrão do Linux, a menos que exclua todo o cluster.
Há alguns casos em que você deve considerar a implantação de um pool de nós do Linux ao planejar executar cargas de trabalho baseadas no Windows no cluster do AKS, como:
- Se você quiser executar cargas de trabalho do Linux e do Windows, poderá implantar um pool de nós do Linux e um pool de nós do Windows no mesmo cluster.
- Se você quiser implantar componentes relacionados à infraestrutura com base no Linux, como o NGINX, precisará de um pool de nós do Linux junto com o pool de nós do Windows. Você pode usar nós de plano de controle para cenários de desenvolvimento e teste. Para cargas de trabalho de produção, recomendamos que você implante pools de nós do Linux separados para garantir a confiabilidade e o desempenho.
Modernizar aplicativos existentes com o Windows no AKS
Talvez você queira colocar aplicativos existentes em contêineres e executá-los usando o Windows no AKS. Antes de iniciar o processo de contêinerização, é importante entender a arquitetura e as dependências do aplicativo. Para obter mais informações, consulte Contêineres de aplicativos existentes usando contêineres do Windows.
Versão do sistema operacional Windows
Orientação de melhor prática
O Windows Server 2022 fornece 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 do host e só oferece suporte ao isolamento do processo.
O AKS oferece suporte a duas opções para o sistema operacional Windows Server: Versões do Canal de Manutenção em Longo Prazo (LTSC) e Canal Anual do Windows Server para Contêineres.
O AKS oferece suporte às Versões do Canal de Manutenção em Longo Prazo (LTSC), incluindo o Windows Server 2022 e o Windows Server 2019. Esse canal é lançado a cada três anos e tem suporte por cinco anos. Os clientes que usam o Suporte em Longo Prazo (LTS) devem usar o Windows Server 2022.
O AKS usa o Windows Server 2019 e o Windows Server 2022 como a versão do sistema operacional do host e só dá suporte ao isolamento do processo. O AKS não dá suporte a imagens de contêiner criadas por outras versões do Windows Server. Para obter mais informações, consulte Compatibilidade de Versão do Contêiner do Windows.
O Windows Server 2022 é o sistema operacional padrão para o Kubernetes versão 1.25 e posterior. O Windows Server 2019 será desativado após a versão 1.32 do Kubernetes chegar ao fim da vida útil. O Windows Server 2022 será desativado após a versão 1.34 do Kubernetes chegar ao fim da vida útil. Para obter mais informações, confira Notas sobre a versão do AKS. Para se manter atualizado sobre as versões mais recentes do sistema operacional do Windows Server e saber mais sobre nosso roteiro do que está planejado para o suporte no AKS, consulte nosso roteiro público do AKS.
O AKS oferece suporte ao Canal Anual do Windows Server para Contêineres (versão prévia). Esse canal é lançado anualmente e tem suporte por 2 anos. Esse canal é benéfico para clientes que exigem maior ciclo 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 nas 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 Anual do Canal para a próxima, atualizar para uma versão do Kubernetes que ofereça suporte à próxima versão Anual do Canal. Para obter mais informações, consulte Canal Anual do Windows Server para Contêineres no AKS.
Rede
Modos de rede
Orientação de melhor prática
Os clusters do AKS com pools de nós do Windows só dão suporte à CNI (Interface de Rede de Contêiner do Azure) do Azure e o usam por padrão.
O Windows não dá suporte à rede kubenet. Os clusters do AKS com pools de nós do Windows devem usar o CNI do Azure. Para obter mais informações, confira Conceitos de rede para aplicativos no AKS.
O CNI do Azure oferece dois modos de rede com base nos requisitos de carga de trabalho:
- A Sobreposição de CNI do Azure é uma rede de sobreposição semelhante ao kubenet. A rede de sobreposição permite que você use IPs de rede virtual (VNet) para nós e espaços de endereço privados para pods dentro desses nós que você pode reutilizar em todo o cluster. A Sobreposição de CNI do Azure é o modo de rede recomendado. Ele fornece configuração e gerenciamento de rede simplificados e a melhor escalabilidade na rede do AKS.
- O CNI do Azure com alocação de IP dinâmico requer um planejamento extra e consideração para o gerenciamento de endereços IP. Esse modo fornece IPs de VNet para nós e pods. Essa configuração permite que você direcione o acesso a IPs de pod. No entanto, ele vem com maior complexidade e redução da escalabilidade.
Para ajudá-lo a decidir qual modo de rede usar, consulte Escolhendo um modelo de rede.
Políticas de rede
Orientação de melhor prática
Use políticas de rede para proteger o tráfego entre pods. O Windows dá suporte ao Azure Network Policy Manager e à Calico Network Policy. Para obter mais informações, consulte Diferenças entre os mecanismos de Política de Rede: Cilium, NPM do Azure e Calico.
Ao gerenciar o tráfego entre pods, você deve aplicar o princípio do privilégio mínimo. O recurso Política de Rede no Kubernetes permite que você defina e imponha regras de tráfego de entrada e saída entre os pods em seu cluster. Para mais informações, consulte Proteger o tráfego entre os pods usando as políticas de rede no AKS.
Os pods do Windows em clusters AKS que usam a Calico Network Policy habilitam o IP flutuante por padrão.
Upgrades a atualizações
É importante manter seu ambiente do Windows atualizado para garantir que seus sistemas tenham as atualizações de segurança, os conjuntos de recursos e os requisitos de conformidade mais recentes. Em um ambiente do 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ões do Kubernetes
Como um serviço do 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, confira Atualizar um cluster do AKS.
Atualizações mensais do nó do Windows
Os nós do Windows no AKS seguem uma agenda de atualização mensal. Todos os meses, o AKS cria um novo VHD com as atualizações mais recentes disponíveis para pools de nós do Windows. O VHD inclui a imagem do host, a imagem mais recente do Nano Server, a imagem mais recente do Server Core e o contêiner. Recomendamos executar atualizações mensais nos pools de nós do Windows para garantir que seus nós tenham os patches de segurança mais recentes. Para obter mais informações, consulte Atualizar imagens de nó do AKS.
Observação
As atualizações em sistemas Windows incluem atualizações de versão do sistema operacional e atualizações mensais do sistema operacional do nó.
Você pode se manter atualizado com a disponibilidade de novas versões mensais usando o rastreador de lançamento do AKS e as notas de versão do AKS.
Atualizações de versão do sistema operacional do nó do Windows
O Windows tem uma cadência de versão para novas versões do sistema operacional, incluindo o Windows Server 2019 e o Windows Server 2022. Ao atualizar sua versão do sistema operacional do nó do Windows, verifique se a versão da imagem de contêiner do Windows corresponde à versão do host do contêiner do Windows e se os pools de nós têm apenas uma versão do Windows Server.
Para atualizar a versão do sistema operacional do nó do Windows, você precisa concluir as seguintes etapas:
- Crie um pool de nós com a nova versão do Windows Server.
- Implante suas cargas de trabalho com as novas imagens de contêiner do Windows no novo pool de nós.
- Desative o pool de nós antigo.
Para obter mais informações, consulte Atualizar cargas de trabalho do Windows Server no AKS.
Observação
O Windows anunciou um novo Canal Anual do Windows Server para Contêineres que dá suporte à portabilidade e versões mistas de nós e contêineres do Windows. Esse recurso ainda não tem suporte no AKS.
Para acompanhar os planos de recursos do AKS, consulte o roteiro público do AKS.
Próximas etapas
Para saber mais sobre contêineres do Windows no AKS, confira os seguintes recursos:
- Saiba como implantar, gerenciar e monitorar contêineres do Windows no AKS.
- Abra um problema ou forneça comentários no repositório de contêineres do Windows no GitHub.
- Examine as soluções de parceiros de terceiros para Windows no AKS.
Azure Kubernetes Service