Bonnes pratiques pour les conteneurs Windows sur AKS (Azure Kubernetes Service)
Dans AKS, vous pouvez créer des pools de nœuds qui exécutent Linux ou Windows Server comme système d’exploitation sur les nœuds. Les nœuds Windows Server peuvent exécuter des applications conteneur Windows natives, comme .NET Framework. Les systèmes d’exploitation Linux et Windows offrent une prise en charge différente des conteneurs et ont des considérations différentes en matière de configuration. Pour plus d’informations, consultez Considérations relatives au conteneur Windows dans Kubernetes. Pour en savoir plus sur la façon dont différents secteurs d’activité utilisent des conteneurs Windows sur AKS, consultez Témoignages de clients Windows AKS.
Cet article décrit les bonnes pratiques en matière d’exécution de conteneurs Windows sur AKS.
Créer un cluster AKS avec des pools de nœuds Linux et Windows
Lorsque vous créez un cluster AKS, la plateforme Azure crée un pool de nœuds Linux par défaut. Ce pool de nœuds contient les services système nécessaires au fonctionnement du cluster. Azure crée et gère également un plan de contrôle extrait à partir de l’utilisateur, ce qui signifie que vous n’êtes pas exposé au système d’exploitation sous-jacent des nœuds hébergeant les composants du plan de contrôle principal. Nous vous recommandons d’exécuter au moins deux nœuds sur le pool de nœuds Linux par défaut pour garantir la fiabilité et les performances de votre cluster. Vous ne pouvez pas supprimer le pool de nœuds Linux par défaut, sauf si vous supprimez l’intégralité du cluster.
Dans certains cas, vous devez envisager de déployer un pool de nœuds Linux si vous prévoyez d’exécuter des charges de travail Windows sur un cluster AKS. Il s’agit notamment des cas suivants :
- Si vous souhaitez exécuter des charges de travail Linux et Windows, vous pouvez déployer un pool de nœuds Linux et un pool de nœuds Windows dans le même cluster.
- Si vous souhaitez déployer des composants liés à l’infrastructure basés sur Linux, tels que NGINX, vous avez besoin d’un pool de nœuds Linux à côté de votre pool de nœuds Windows. Vous pouvez utiliser des nœuds de plan de contrôle pour des scénarios de test et de développement. Pour les charges de travail de production, nous vous recommandons de déployer des pools de nœuds Linux distincts afin de garantir la fiabilité et les performances.
Moderniser des applications existantes avec Windows sur AKS
Vous souhaiterez peut-être conteneuriser des applications existantes et les exécuter à l’aide de Windows sur AKS. Avant de commencer le processus de conteneurisation, il est important de comprendre l’architecture et les dépendances de l’application. Pour plus d’informations, consultez Conteneurisation d’applications existantes à l’aide de conteneurs Windows.
Version du système d’exploitation Windows
Conseils sur les bonnes pratiques
Windows Server 2022 fournit des performances et une sécurité et améliorées et il s’agit du système d’exploitation recommandé pour les pools de nœuds Windows sur AKS. AKS utilise Windows Server 2022 comme version de système d’exploitation hôte et prend en charge uniquement l’isolation des processus.
AKS prend en charge deux options pour le système d’exploitation Windows Server : versions de Canal de maintenance à long terme (LTSC) et Canal annuel Windows Server pour conteneurs.
AKS prend en charge les versions de Canal de maintenance à long terme (LTSC), notamment Windows Server 2022 et Windows Server 2019. Ce canal est publié tous les trois ans et est pris en charge pendant cinq ans. Les clients qui utilisent la prise en charge à long terme (LTS) doivent utiliser Windows Server 2022.
AKS utilise Windows Server 2019 et Windows Server 2022 comme version de système d’exploitation hôte, et prend en charge uniquement l’isolation des processus. AKS ne prend pas en charge les images conteneur générées par d’autres versions de Windows Server. Pour en savoir plus, consultez Compatibilité des versions avec les conteneurs Windows.
Windows Server 2022 est le système d’exploitation par défaut pour Kubernetes version 1.25 et ultérieures. Windows Server 2019 sera mis hors service lorsque Kubernetes version 1.32 atteindra sa fin de vie. Windows Server 2022 sera mis hors service lorsque Kubernetes version 1.34 atteindra sa fin de vie. Pour plus d’informations, consultez les notes de publication AKS. Pour rester informé sur les dernières versions de système d’exploitation Windows Server et découvrir notre feuille de route sur les prévisions de prise en charge sur AKS, consultez notre Feuille de route publique AKS.
AKS prend en charge Canal annuel Windows Server pour conteneurs (préversion). Ce canal est publié annuellement et est pris en charge pendant 2 ans. Ce canal est bénéfique pour les clients nécessitant des cycles d’innovation et une portabilité accrus. La fonctionnalité de portabilité permet au système d’exploitation d’image conteneur Windows Server 2022 de s’exécuter sur des versions plus récentes du système d’exploitation hôte Windows Server, comme la nouvelle version annuelle du canal.
Les versions de canal annuel Windows sont basées sur la version Kubernetes de votre pool de nœuds. Pour effectuer une mise à niveau d’une version de canal annuel vers la suivante, mettre à niveau vers une version Kubernetes qui prend en charge la prochaine version du canal annuel. Pour plus d’informations, consultez Canal annuel Windows Server pour conteneurs sur AKS.
Mise en réseau
Modes réseau
Conseils sur les bonnes pratiques
Les clusters AKS avec des pools de nœuds Windows prennent uniquement en charge Azure CNI (Azure Container Networking Interface), et ils l’utilisent par défaut.
Windows ne prend pas en charge les réseaux kubenet. Les clusters AKS avec des pools de nœuds Windows doivent utiliser Azure CNI. Pour plus d’informations, consultez Concepts réseau pour les applications dans AKS.
Azure CNI offre deux modes réseau en fonction de vos besoins en charge de travail :
- La superposition Azure CNI est un réseau de superposition similaire à kubenet. Le réseau de superposition vous permet d’utiliser des adresses IP de réseau virtuel (VNet) pour les nœuds et des espaces d’adressage privés pour les pods au sein de ces nœuds que vous pouvez réutiliser sur le cluster. La superposition Azure CNI est le mode réseau recommandé. Elle fournit une configuration et une gestion réseau simplifiées, et la meilleure scalabilité de réseau AKS.
- Azure CNI avec allocation dynamique des adresses IP nécessite une planification supplémentaire et le respect des considérations relatives à la gestion des adresses IP. Ce mode fournit des adresses IP de réseau virtuel pour les nœuds et les pods. Cette configuration vous permet d’accéder directement aux adresses IP de pod. Toutefois, elle implique une complexité accrue et une scalabilité réduite.
Pour vous aider à déterminer le mode réseau à utiliser, consultez Choix d’un modèle réseau.
Stratégies réseau
Conseils sur les bonnes pratiques
Utilisez des stratégies réseau pour sécuriser le trafic entre les pods. Windows prend en charge Azure Network Policy Manager et Calico Network Policy. Pour plus d’informations, consultez Différences entre les moteurs de stratégie réseau : Cilium, Azure NPM et Calico.
Lors de la gestion du trafic entre les pods, vous devez appliquer le principe du privilège minimum. La fonctionnalité Stratégie réseau dans Kubernetes vous permet de définir et d’appliquer des règles de trafic d’entrée et de sortie entre les pods de votre cluster. Pour plus d’informations, consultez Sécuriser le trafic entre les pods avec des stratégies réseau dans AKS.
Les pods Windows sur les clusters AKS qui utilisent la stratégie réseau Calico activent les IP flottantes par défaut.
Mises à niveau et mises à jour
Il est important de maintenir votre environnement Windows à jour pour veiller à ce que vos systèmes disposent des mises à jour de sécurité, exigences de conformité et ensembles de fonctionnalités les plus récents. Dans un environnement Kubernetes comme AKS, vous devez tenir à jour la version Kubernetes, les nœuds Windows, et les pods et les images conteneur Windows.
Mises à niveau de version de Kubernetes
En tant que service Kubernetes managé, AKS fournit les outils nécessaires pour mettre à niveau votre cluster vers la dernière version de Kubernetes. Pour plus d’informations, consultez Mettre à niveau un cluster AKS.
Mises à jour mensuelles des nœuds Windows
Les nœuds Windows sur AKS suivent une planification de mise à jour mensuelle. Chaque mois, AKS crée un disque dur virtuel avec les dernières mises à jour disponibles pour les pools de nœuds Windows. Le disque dur virtuel inclut l’image hôte, la dernière image Nano Server, la dernière image Server Core et le conteneur. Nous vous recommandons d’effectuer des mises à jour mensuelles de vos pools de nœuds Windows pour veiller à ce que vos nœuds disposent des derniers correctifs de sécurité. Pour plus d’informations, consultez Mettre à niveau des images de nœuds AKS.
Remarque
Les mises à niveau sur les systèmes Windows incluent à la fois des mises à niveau de version du système d’exploitation et des mises à jour mensuelles du système d’exploitation des nœuds.
Vous pouvez vous tenir à jour de la disponibilité des nouvelles versions mensuelles à l’aide du suivi des mises en production AKS et des notes de publication AKS.
Mises à niveau de la version du système d’exploitation des nœuds Windows
Windows a une cadence de mise en production pour les nouvelles versions du système d’exploitation, notamment Windows Server 2019 et Windows Server 2022. Lors de la mise à niveau de votre version du système d’exploitation de nœud Windows, vérifiez que la version de l’image conteneur Windows correspond à la version de l’hôte de conteneur Windows, et que les pools de nœuds n’ont qu’une seule version de Windows Server.
Pour mettre à niveau la version du système d’exploitation de nœud Windows, vous devez effectuer les étapes suivantes :
- Créer un pool de nœuds avec la nouvelle version de Windows Server.
- Déployer vos charges de travail avec les nouvelles images conteneur Windows dans le nouveau pool de nœuds.
- Mettre hors service l’ancien pool de nœuds.
Pour plus d’informations, consultez Mettre à niveau des charges de travail Windows Server sur AKS.
Remarque
Windows a annoncé un nouveau canal annuel Windows Server pour conteneurs qui prend en charge la portabilité et les versions mixtes des nœuds et conteneurs Windows. Cette fonctionnalité n’est pas encore prise en charge dans AKS.
Pour suivre les plans de fonctionnalités AKS, consultez la feuille de route AKS publique.
Étapes suivantes
Pour en savoir plus sur les conteneurs Windows sur AKS, consultez les ressources suivantes :
- Découvrez comment déployer, gérer et superviser des conteneurs Windows sur AKS.
- Ouvrez un problème ou fournissez des commentaires dans le dépôt GitHub des conteneurs Windows.
- Passez en revue les solutions partenaires tierces pour Windows sur AKS.
Azure Kubernetes Service