Compartilhar via


Portabilidade para contêineres

Aplica-se a: Windows Server, versão 23H2

A portabilidade é um recurso do Canal Anual para Contêineres do Windows Server. A portabilidade simplifica o processo de atualização, ajudando você a aproveitar ao máximo a flexibilidade e a compatibilidade aprimoradas que os contêineres oferecem. Este artigo fornece uma explicação detalhada de como a portabilidade de imagem de contêiner é otimizada para hosts de contêiner de canal anual.

O Canal Anual do Windows Server para Contêineres é uma edição do Windows Server projetada para o Serviço Kubernetes do Azure e implantações do Windows Server focadas em contêiner para aprimorar a eficiência e fornecer portabilidade otimizada para contêineres Windows e Linux. Para saber mais sobre o Canal Anual para Contêineres no Windows Server, consulte nosso anúncio da TechCommunity.

Como a portabilidade funciona

O Windows usa um kernel modular onde os componentes geralmente estão firmemente ligados entre o modo de usuário e o modo kernel. Componentes fortemente ligados são interfaces gráficas úteis sobre drivers de modo kernel ou otimizando o desempenho reduzindo o modo kernel para opções de contexto de modo de usuário. No entanto, isso representa um desafio para os contêineres. A portabilidade permite que contêineres em execução no modo de usuário executem cargas de trabalho com uma versão de imagem de contêiner diferente da versão do sistema operacional host.

Sem a portabilidade, os usuários só podiam executar cargas de trabalho com versões de imagem e de host correspondentes. Por exemplo, um usuário executando um host do Windows Server 2022 não podia executar contêineres isolados do processo do Windows Server 2019. O controle de versão entre o host e a imagem do contêiner representou um ponto problemático substancial da conteinerização do Windows, tornando desafiadora a migração para versões mais recentes de um host de contêiner. Por exemplo, o Windows Server 2022 LTSC exigia que todas as imagens de infraestrutura e aplicativos fossem atualizadas para a versão mais recente ao mesmo tempo em que o host era atualizado.

Interface binária do aplicativo

A Interface Binária do Aplicativo, ou ABI, permite que várias linguagens de programação interajam com interfaces de usuário e de modo kernel. Independentemente da linguagem de programação, a interação do código de cliente com um objeto do Windows Runtime acontece no nível mais baixo, com constructos de linguagem do cliente convertidas em chamadas na ABI do objeto. A portabilidade para contêineres do Windows introduz uma ABI estável para interação entre usuário e kernel. Essa ABI estável desacopla o usuário e os componentes do kernel do sistema, e dá a capacidade de atualizar separadamente os elementos do kernel e do usuário do seu sistema.

Os contêineres podem executar todos os binários do modo de usuário de sua camada base, exceto a camada ABI.

O diagrama a seguir ilustra a comunicação entre os componentes do modo de usuário e do modo kernel.

Um diagrama mostrando o marco de delimitação da ABI de estabilização. Os processos e serviços hospedados, bem como os processos e serviços de contêineres, utilizam essa camada abstraída para se comunicar com o kernel compartilhado subjacente.

Quais versões posso usar?

As imagens de contêiner do Nano Server, Server Core e Windows Server só estão disponíveis por meio do Canal de Manutenção em Longo Prazo para contêineres que executam o Windows Server 2019 ou posterior. Para obter mais informações sobre imagens de contêineres do Windows Server com suporte, consulte Ciclos de vida de manutenção de imagens base.

Um host de contêiner do Windows Server versão 23H2 dá suporte apenas à imagem de contêiner LTSC (Canal de Manutenção de Longo Prazo) do Windows Server 2022.

Atualmente, o Serviço de Kubernetes do Azure dá suporte a hosts do Windows Server 2019 e posterior. O Canal Anual para Contêineres do Windows Server é outra opção de sistema operacional de contêiner que a Microsoft oferece junto com o Kubernetes 1.28. Você pode criar pools de nós com base no canal anual e continuar implantando suas imagens de contêiner do Windows Server 2022 nesses nós. A Microsoft atualiza a versão anual do canal e quaisquer novos lançamentos do Kubernetes anualmente, automaticamente. No entanto, também é uma boa ideia seguir as versões LTSC mais recentes para garantir que seus contêineres estejam atualizados.

Observação

Embora as versões anteriores de imagem de contêiner possam ser executadas no sistema operacional host mais recente, os sistemas operacionais de imagem de contêiner mais recentes não podem ser executados no sistema operacional host anterior.