Portabilité des conteneurs
S’applique à : Windows Server, version 23H2
La portabilité est une fonctionnalité du canal annuel Windows Server pour conteneurs. La portabilité est le processus de mise à niveau, ce qui vous permet de tirer pleinement parti de la flexibilité et de la compatibilité améliorées offertes par les conteneurs. Cet article fournit une explication détaillée de la façon dont la portabilité de l’image conteneur est optimisée pour les hôtes de conteneur de canal annuel.
Le canal annuel Windows Server pour conteneurs est une édition de Windows Server conçue pour les déploiements Windows Server axés sur le conteneur et Azure Kubernetes Service afin d’améliorer l’efficacité et de fournir une portabilité optimisée pour les conteneurs Windows et Linux. Pour plus d’informations sur le canal annuel pour les conteneurs dans Windows Server, consultez notre annonce TechCommunity.
Fonctionnement de la portabilité
Windows utilise un noyau modulaire où les composants sont souvent étroitement liés entre le mode utilisateur et le mode noyau. Les composants étroitement liés sont des interfaces graphiques utiles fixées sur les pilotes en mode noyau ou optimisant les performances en réduisant le mode noyau aux commutateurs de contexte en mode utilisateur. Toutefois, c’est un défi pour les conteneurs. La portabilité permet aux conteneurs s’exécutant en mode utilisateur d’exécuter des charges de travail avec une version d’image conteneur différente de la version du système d’exploitation hôte.
Sans portabilité, les utilisateurs ne pouvaient exécuter que des charges de travail avec des versions d’image et d’hôte correspondantes. Par exemple, un utilisateur exécutant un hôte Windows Server 2022 n’a pas pu exécuter des conteneurs isolés de processus Windows Server 2019. Le contrôle de version entre l’hôte et l’image conteneur représente une problématique majeure de conteneurisation Windows qui rend le passage aux versions plus récentes d’un hôte de conteneur difficile. Par exemple, Windows Server 2022 LTSC exigeait que toutes les images d’infrastructure et d’application soient mises à jour vers la dernière version en même temps que l’hôte.
Interface binaire d’application
L’interface binaire d’application ou ABI permet à différents langages de programmation d’interagir avec les interfaces en mode utilisateur et noyau. L'interaction du code client avec un objet d’exécution se produit au niveau le plus bas, avec des constructions de langage client traduites en appels de l’ABI de l’objet. La portabilité des conteneurs Windows introduit une ABI stable pour l’interaction utilisateur et noyau. Cette ABI stable dissocie les composants utilisateur et noyau du système et permet de mettre à jour séparément le noyau et les éléments utilisateur de votre système.
Les conteneurs peuvent exécuter tous les fichiers binaires en mode utilisateur à partir de leur couche de base, à l’exception de la couche ABI.
Le diagramme suivant illustre la communication entre les composants en mode utilisateur et en mode noyau.
Quelles versions puis-je utiliser ?
Les images conteneur Nano Server, Server Core et Windows Server sont disponibles uniquement via le canal de maintenance à long terme pour les conteneurs exécutant Windows Server 2019 ou version ultérieure. Pour plus d’informations sur les images de conteneurs Windows Server prises en charge, consultez Cycles de vie de maintenance des images de base.
Un hôte de conteneur Windows Server, version 23H2, ne prend en charge que l’image de conteneur du Canal de Service à Long Terme (LTSC) de Windows Server 2022.
Azure Kubernetes Service prend actuellement en charge les hôtes Windows Server 2019 et versions ultérieures. Le canal annuel Windows Server pour conteneurs est une autre option de système d’exploitation de conteneur que Microsoft propose avec Kubernetes 1.28. Vous pouvez créer des pools de nœuds basés sur le canal annuel et continuer à déployer vos images conteneur Windows Server 2022 sur ces nœuds. Microsoft met à jour automatiquement la version du canal annuel et toutes les nouvelles versions de Kubernetes. Toutefois, il est judicieux de suivre également les dernières versions de LTSC pour vous assurer que vos conteneurs sont à jour.
Remarque
Bien que les versions précédentes d’images conteneur puissent s’exécuter sur le système d’exploitation hôte plus récent, les systèmes d’exploitation d’images conteneur plus récents ne peuvent pas s’exécuter sur le système d’exploitation hôte précédent.