Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous mettez à niveau la version du système d’exploitation d’une charge de travail Windows en cours d’exécution sur Azure Kubernetes Service (AKS), utilisez l’une des méthodes de migration suivantes :
- Migration sur place : mettez à jour la référence SKU du système d’exploitation sur un pool de nœuds existant pour migrer de Windows Server 2022 vers Windows Server 2025.
- Migration manuelle : créez un pool de nœuds avec votre version de système d’exploitation souhaitée Windows Server, déplacez vos charges de travail vers le nouveau pool de nœuds et supprimez l’ancien pool de nœuds.
Lorsqu’une nouvelle version du système d’exploitation Windows Server est publiée, AKS s’engage à le prendre en charge. Nous vous recommandons de mettre à niveau vers la dernière version pour tirer parti des correctifs, améliorations et nouvelles fonctionnalités. AKS offre un cycle de vie de support de cinq ans pour chaque version de Windows Server, à compter de Windows Server 2022. Pendant cette période, AKS publie une nouvelle version qui prend en charge une version plus récente du système d’exploitation Windows Server vers laquelle effectuer la mise à niveau. Une fois le cycle de vie de cinq ans terminé, vous devez migrer des charges de travail vers des versions plus récentes prises en charge pour garantir la compatibilité, les mises à jour de sécurité et la prise en charge continue d’AKS.
Important
À compter du 30 juin 2028, Azure Kubernetes Service (AKS) ne prend plus en charge les pools de nœuds Windows Server 2022. Windows Server 2022 n'est pas pris en charge dans Kubernetes version 1.37 et ultérieure. À compter du 30 juin 2029, AKS supprime toutes les images de nœud existantes pour Windows Server 2022, ce qui signifie que les opérations de mise à l’échelle échouent. Pour obtenir davantage de détails sur cette mise à service, consultez le problème GitHub Retirement ainsi que l’annonce correspondante dans Azure Updates. Pour rester informé des annonces et des mises à jour, suivez les notes de publication AKS.
Les limitations suivantes s’appliquent à la migration de version du système d’exploitation pour Windows Server :
- La mise à jour du pool de nœuds pour migrer d’une version de Windows Server vers une autre n’est prise en charge que pour la migration de Windows Server 2022 vers Windows Server 2025 à l’aide de la version 22.0.0b6 ou ultérieure de l’extension Azure CLI
aks-preview. Pour toutes les autres migrations de versions de système d’exploitation Windows Server, créez un pool de nœuds. - Différentes versions de Windows Server ne peuvent pas coexister sur le même pool de nœuds sur AKS. Si vous créez un pool de nœuds pour héberger la nouvelle version du système d’exploitation, veillez à mettre en correspondance les autorisations et l’accès du pool de nœuds précédent à celui-ci.
- Windows Server 2025 est pris en charge à partir de Kubernetes version 1.32.0.
Prerequisites
- Mettez à jour l’instruction
FROMdans votre Dockerfile vers la nouvelle version de système d’exploitation. - Passez en revue votre application et vérifiez que l’application conteneur fonctionne sur la nouvelle version de système d’exploitation.
- Déployez l’application conteneur vérifiée sur AKS dans un environnement de développement ou de test.
- Notez le nouveau nom d’image ou la nouvelle étiquette utilisés dans cet article.
- Pour la migration sur place de Windows Server 2022 vers Windows Server 2025, installez ou mettez à jour l’extension
aks-previewAzure CLI vers la version 22.0.0b6 ou ultérieure.
Remarque
Pour savoir comment générer un Dockerfile pour les charges de travail Windows, consultez Dockerfile sur Windows et Optimiser les fichiers Dockerfile Windows.
Important
Les fonctionnalités d’évaluation AKS sont disponibles en libre-service et font l’objet d’un abonnement. Les versions préliminaires sont fournies « en l’état » et « selon leur disponibilité » et ne sont pas couvertes par les accords de niveau de service ni par la garantie limitée. Les versions préliminaires d’AKS sont partiellement couvertes par le support client, dans la limite du raisonnable. Par conséquent, ces fonctionnalités ne sont pas destinées à une utilisation en production. Pour plus d’informations, consultez les articles de support suivants :
Installer l’extension aks-preview Azure CLI
- Exécutez la commande suivante pour installer l’extension aks-preview :
Migration sur place de Windows Server 2022 vers Windows Server 2025
Vous pouvez migrer un pool de nœuds Windows Server 2022 existant vers Windows Server 2025 en place en mettant à jour la référence SKU du système d’exploitation sur le pool de nœuds existant avec la az aks nodepool update commande. Ce chemin de migration utilise l’extension aks-preview Azure CLI version 22.0.0b6 ou ultérieure. Le cluster doit exécuter Kubernetes version 1.32 à 1.36 où les deux versions du système d’exploitation sont prises en charge.
Considérations relatives à la migration sur place
Tenez compte des détails suivants avant de migrer un pool de nœuds Windows Server 2022 vers Windows Server 2025 :
- Windows Server 2025 utilise des images compatibles FIPS par défaut. Si votre pool de nœuds Windows Server 2022 n'utilise pas encore d'image compatible FIPS, incluez
--enable-fips-imagequand vous exécutez la commande de mise à jour. - La commande de mise à jour déclenche une réimage automatique du pool de nœuds existant.
- Windows Server 2025 utilise des machines virtuelles de génération 2 par défaut. Vous n’avez pas besoin de disposer d’un pool de nœuds Windows Server 2022 de 2e génération existant pour effectuer une migration sur place. Les pools de nœuds standard Windows Server 2022
containerdsont pris en charge. - Si la taille de machine virtuelle existante prend en charge la génération 2, AKS peut sélectionner une image Windows Server 2025 Génération 2 pendant la migration. Cette sélection d’image par défaut peut affecter la compatibilité des images pour certaines configurations.
Le tableau suivant décrit les configurations sources qui prennent en charge la migration sur place avec la commande de mise à jour. Pour les configurations non prises en charge, utilisez plutôt la migration manuelle .
| Configuration existante | Support | Result |
|---|---|---|
Image standard Windows Server 2022 containerd génération 1 avec une taille de machine virtuelle de génération 1 uniquement |
Oui | Migre vers Windows Server 2025 Génération 1. |
Image standard Windows Server 2022 containerd génération 1 avec une taille de machine virtuelle compatible génération 2 |
Oui | Migre vers Windows Server 2025 Génération 2. |
Image standard Windows Server 2022 containerd génération 2 avec une taille de machine virtuelle compatible génération 2 |
Oui | Migre vers Windows Server 2025 Génération 2. |
Mettre à jour le pool de nœuds Windows Server 2022 existant vers Windows Server 2025
Mettez à jour le SKU du système d’exploitation du pool de nœuds vers
Windows2025à l’aide de la commandeaz aks nodepool update.az aks nodepool update \ --resource-group <resource-group-name> \ --cluster-name <cluster-name> \ --name <node-pool-name> \ --os-sku Windows2025 \ --enable-fips-imageVérifiez qu’un nœud dans le pool de nœuds mis à jour utilise la
Windows2025référence SKU du système d’exploitation et une image Windows Server 2025 à l’aide de lakubectl describe nodecommande.kubectl describe node <node-name>L’exemple de sortie condensée suivant montre l’étiquette SKU du
Windows2025système d’exploitation et l’image du système d’exploitation Windows Server 2025 :Labels: kubernetes.azure.com/os-sku=Windows2025 kubernetes.io/os=windows ... System Info: OS Image: Windows Server 2025 Datacenter Container Runtime Version: containerd://2.0.4+azure
Migration manuelle vers un nouveau pool de nœuds
La migration manuelle utilise un nouveau pool de nœuds au lieu de mettre à jour le pool de nœuds existant. Utilisez la migration manuelle pour les migrations de version du système d’exploitation Windows Server qui ne prennent pas en charge la mise à niveau sur place, ou lorsque votre configuration source n’est pas compatible avec une mise à niveau sur place. Pour migrer manuellement, créez un pool de nœuds avec votre version de système d’exploitation souhaitée Windows Server et déplacez vos charges de travail vers le nouveau pool de nœuds.
Ajouter un nouveau pool de nœuds à un cluster existant
Ajoutez un pool de nœuds avec votre version de système d’exploitation souhaitée à votre cluster existant :
- Utilisez l’interface CLI pour ajouter un pool de nœuds Windows à un cluster existant.
- Utilisez portail pour ajouter un pool de nœuds Windows à un cluster existant.
- Utilisez PowerShell pour ajouter un pool de nœuds Windows à un cluster existant.
- Utilisez Terraform pour ajouter un pool de nœuds Windows à un cluster existant.
Les pools de nœuds Windows Server 2025 nécessitent une image avec FIPS activé. Lorsque vous ajoutez un pool de nœuds Windows Server 2025, incluez --enable-fips-image (Azure CLI) ou -EnableFIPS (Azure PowerShell).
Mettre à jour le fichier YAML
Le sélecteur de nœuds est l’option recommandée et la plus courante pour le placement des pods Windows sur les nœuds Windows.
Ajoutez le sélecteur de nœud à votre fichier YAML en ajoutant l’annotation suivante :
nodeSelector: "kubernetes.io/os": windowsL’annotation recherche un nœud Windows disponible et place le pod sur ce nœud (en suivant toutes les autres règles de planification). Lors de la mise à niveau de la version de votre système d’exploitation, vous devez imposer le placement sur un nœud Windows et un nœud utilisant la dernière version du système d’exploitation. Pour ce faire, une option consiste à utiliser une autre annotation. Mettez à jour
<OSSKU>pour correspondre à l'ossku de la version de Windows que vous souhaitez, par exempleWindows2025.nodeSelector: "kubernetes.azure.com/os-sku": <OSSKU>Une fois que vous avez mis à jour
nodeSelectordans le fichier YAML, vous devez également mettre à jour l’image conteneur à utiliser. Vous pouvez obtenir ces informations à l’étape précédente où vous avez créé une version de l’application conteneurisée en changeant l’instructionFROMdans votre Dockerfile.Remarque
Vous devez utiliser le même fichier YAML que celui que vous avez utilisé pour déployer initialement l’application. Cela garantit qu’aucune autre configuration ne change en dehors de
nodeSelectoret de l’image conteneur.
Appliquer le fichier YAML mis à jour à la charge de travail existante
Affichez les nœuds de votre cluster en utilisant la commande
kubectl get nodes.kubectl get nodes -o wideL’exemple de sortie suivant montre tous les nœuds du cluster, y compris le nouveau pool de nœuds que vous avez créé et les pools de nœuds existants :
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME aks-agentpool-18877473-vmss000000 Ready agent 5h40m v1.33.12 10.240.0.4 <none> Ubuntu 22.04.5 LTS 5.15.0-1116-azure containerd://1.7.33-1 akspoolws000000 Ready agent 3h15m v1.33.12 10.240.0.208 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000001 Ready agent 3h17m v1.33.12 10.240.0.239 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000002 Ready agent 3h17m v1.33.12 10.240.1.14 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akswspool000000 Ready agent 5h37m v1.33.12 10.240.0.115 <none> Windows Server 2025 Datacenter 10.0.26100.32995 containerd://2.0.4+azure akswspool000001 Ready agent 5h37m v1.33.12 10.240.0.146 <none> Windows Server 2025 Datacenter 10.0.26100.32995 containerd://2.0.4+azure akswspool000002 Ready agent 5h37m v1.33.12 10.240.0.177 <none> Windows Server 2025 Datacenter 10.0.26100.32995 containerd://2.0.4+azureAppliquez le fichier YAML mis à jour à la charge de travail existante en utilisant la commande
kubectl applyet spécifiez le nom du fichier YAML.kubectl apply -f <filename>L’exemple de sortie suivant montre un état configuré pour le déploiement :
deployment.apps/sample configured service/sample unchangedÀ ce stade, AKS démarre le processus de fin des pods existants et de déploiement de nouveaux pods sur les nœuds avec l’annotation
nodeSelector.Vérifiez l’état du déploiement avec la commande
kubectl get pods.kubectl get pods -o wideL’exemple de sortie suivant montre les pods dans l’espace de noms
default:NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES sample-7794bfcc4c-k62cq 1/1 Running 0 2m49s 10.240.0.238 akspoolws000000 <none> <none> sample-7794bfcc4c-rswq9 1/1 Running 0 2m49s 10.240.1.10 akspoolws000001 <none> <none> sample-7794bfcc4c-sh78c 1/1 Running 0 2m49s 10.240.0.228 akspoolws000000 <none> <none>
Mettre à jour la configuration de la sécurité et de l’authentification
Si vous utilisez des comptes de service administrés de groupe (gMSA), vous devez mettre à jour la configuration de l’identité managée du nouveau pool de nœuds. gMSA utilise un secret (compte d’utilisateur et mot de passe) pour que le nœud qui exécute le pod Windows puisse authentifier le conteneur sur Microsoft Entra ID. Pour accéder à ce secret sur Azure Key Vault, le nœud utilise une identité managée qui permet au nœud d’accéder à la ressource. Étant donné que les identités managées sont configurées par pool de nœuds et que le pod réside désormais sur un nouveau pool de nœuds, vous devez mettre à jour cette configuration. Pour plus d’informations, consultez Activer les comptes de service administrés de groupe (gMSA) pour vos nœuds Windows Server sur votre cluster Azure Kubernetes Service (AKS).
Le même principe s’applique aux identités managées utilisées pour tout autre pod ou pool de nœuds en cas d’accès à d’autres ressources Azure. Vous devez mettre à jour tout accès fourni par l’identité managée pour refléter le nouveau pool de nœuds. Pour afficher les activités de mise à jour et de connexion, consultez Comment afficher l’activité de l’identité managée.
Étapes suivantes
Dans cet article, vous avez appris à mettre à niveau la version de système d’exploitation des charges de travail Windows sur AKS. Pour en savoir plus sur les charges de travail Windows sur AKS, consultez Déployer une application conteneur Windows sur Azure Kubernetes Service (AKS).