Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si aggiorna la versione del sistema operativo di un carico di lavoro Windows in esecuzione in Servizio Azure Kubernetes (AKS), usare uno dei metodi di migrazione seguenti:
- Migrazione sul posto: aggiornare lo SKU del sistema operativo in un pool di nodi esistente per eseguire la migrazione da Windows Server 2022 a Windows Server 2025.
- Migrazione manuale: creare un nuovo pool di nodi con la versione del sistema operativo Windows Server desiderata, spostare i carichi di lavoro nel nuovo pool di nodi ed eliminare il pool di nodi precedente.
Quando viene rilasciata una nuova versione del sistema operativo Windows Server, AKS si impegna a supportarla. È consigliabile eseguire l'aggiornamento alla versione più recente per sfruttare le correzioni, i miglioramenti e le nuove funzionalità. Il servizio Azure Kubernetes offre un ciclo di vita del supporto di cinque anni per ogni versione di Windows Server, a partire da Windows Server 2022. Durante questo periodo, AKS rilascia una nuova versione che supporta una versione più recente del sistema operativo Windows Server per l'aggiornamento. Al termine del ciclo di vita di cinque anni, è necessario eseguire la migrazione dei carichi di lavoro alle versioni supportate più recenti per garantire la compatibilità, gli aggiornamenti della sicurezza e il supporto continuo del servizio Azure Kubernetes.
Importante
A partire dal 30 giugno 2028, Servizio Azure Kubernetes (AKS) non supporta più pool di nodi Windows Server 2022. Windows Server 2022 non è supportato in Kubernetes versione 1.37 e successive. A partire dal 30 giugno 2029, AKS rimuoverà tutte le immagini dei nodi esistenti per Windows Server 2022, il che significa che le operazioni di ridimensionamento avranno esito negativo. Per altre informazioni sul ritiro, vedere il problema sul ritiro di GitHub e l'annuncio di ritiro degli aggiornamenti di Azure. Per rimanere aggiornati sugli annunci e gli aggiornamenti, vedere le note sulla versione di AKS.
Le limitazioni seguenti si applicano alla migrazione della versione del sistema operativo Windows Server:
- L'aggiornamento del pool di nodi per eseguire la migrazione da una versione Windows Server a un'altra è supportato solo per la migrazione da Windows Server 2022 a Windows Server 2025 usando l'estensione
aks-previewinterfaccia della riga di comando di Azure versione 22.0.0b6 o successiva. Per tutte le altre migrazioni delle versioni del sistema operativo Windows Server, creare un nuovo pool di nodi. - Versioni di Windows Server diverse non possono coesistere nello stesso pool di nodi nel servizio Azure Kubernetes. Se si crea un nuovo pool di nodi per ospitare la nuova versione del sistema operativo, assicurarsi di associare le autorizzazioni e l'accesso del pool di nodi precedente a quello nuovo.
- Windows Server 2025 è supportato a partire dalla versione 1.32.0 di Kubernetes.
Prerequisites
- Aggiornare l'istruzione
FROMnel Dockerfile alla nuova versione del sistema operativo. - Controllare l'applicazione e verificare che l'app contenitore funzioni nella nuova versione del sistema operativo.
- Distribuire l'app contenitore verificata nel servizio Azure Kubernetes in un ambiente di sviluppo o test.
- Prendere nota del nuovo nome o tag dell'immagine da usare in questo articolo.
- Per la migrazione sul posto da Windows Server 2022 a Windows Server 2025, installare o aggiornare l'estensione
aks-previewinterfaccia della riga di comando di Azure alla versione 22.0.0b6 o successiva.
Note
Per informazioni su come creare un Dockerfile per i carichi di lavoro di Windows, vedere Dockerfile in Windows e Ottimizzare i Dockerfile di Windows.
Importante
Le funzionalità in anteprima di AKS sono disponibili in modalità self-service, su base volontaria. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime di AKS sono coperte solo parzialmente dall'assistenza clienti nei limiti del possibile. Di conseguenza, queste funzionalità non sono destinate all'uso in produzione. Per altre informazioni, vedere gli articoli di supporto seguenti:
Installare l'estensione aks-preview interfaccia della riga di comando di Azure
- Per installare l'estensione aks-preview, eseguire il comando seguente:
Migrazione sul posto da Windows Server 2022 a Windows Server 2025
È possibile eseguire la migrazione di un pool di nodi di Windows Server 2022 esistente a Windows Server 2025 aggiornando lo SKU del sistema operativo nel pool di nodi esistente con il az aks nodepool update comando . Questo percorso di migrazione usa l'estensione aks-preview interfaccia della riga di comando di Azure versione 22.0.0b6 o successiva. Il cluster deve eseguire Kubernetes versione 1.32 a 1.36 in cui sono supportate entrambe le versioni del sistema operativo.
Considerazioni sulla migrazione sul posto
Considerare i dettagli seguenti prima di eseguire la migrazione di un pool di nodi Windows Server 2022 a Windows Server 2025:
- Windows Server 2025 usa immagini abilitate per FIPS per impostazione predefinita. Se il pool di nodi Windows Server 2022 non usa già un'immagine abilitata per FIPS, includere
--enable-fips-imagequando si esegue il comando di aggiornamento. - Il comando update attiva una ricreazione automatica dell'immagine del pool di nodi esistente.
- Windows Server 2025 usa macchine virtuali di seconda generazione per impostazione predefinita. Non è necessario disporre di un pool di nodi Windows Server 2022 di seconda generazione già esistente per eseguire la migrazione sul posto. Sono supportati pool di nodi Windows Server 2022
containerdstandard. - Se la dimensione della VM esistente supporta Generazione 2, AKS può selezionare un'immagine di Generazione 2 di Windows Server 2025 durante la migrazione. Questa selezione di immagini predefinite potrebbe influire sulla compatibilità delle immagini per alcune configurazioni.
Nella tabella seguente vengono descritte le configurazioni di origine che supportano la migrazione sul posto con il comando update. Per le configurazioni non supportate, usare invece la migrazione manuale .
| Configurazione esistente | Support | Result |
|---|---|---|
Immagine standard di Windows Server 2022 containerd Generazione 1 con dimensione della macchina virtuale solo Generazione 1 |
Sì | Esegue la migrazione a Windows Server 2025 Generazione 1. |
Immagine standard di Windows Server 2022 containerd Generazione 1 con dimensione VM compatibile con Generazione 2 |
Sì | Esegue la migrazione a Windows Server 2025 Generazione 2. |
Immagine standard di Windows Server 2022 containerd Generazione 2 con dimensione della VM compatibile con Generazione 2 |
Sì | Esegue la migrazione a Windows Server 2025 Generazione 2. |
Aggiornare il pool di nodi di Windows Server 2022 esistente a Windows Server 2025
Aggiorna lo SKU del sistema operativo del pool di nodi su
Windows2025usando il comandoaz 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-imageVerificare che un nodo nel pool di nodi aggiornato usi lo SKU del
Windows2025sistema operativo e un'immagine Windows Server 2025 usando ilkubectl describe nodecomando .kubectl describe node <node-name>Il seguente output di esempio condensato mostra l'etichetta SKU del
Windows2025sistema operativo e l'immagine del sistema operativo 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
Migrazione manuale a un nuovo pool di nodi
La migrazione manuale usa un nuovo pool di nodi invece di aggiornare il pool di nodi esistente. Utilizzare la migrazione manuale per le migrazioni di versione del sistema operativo di Windows Server che non supportano l'aggiornamento sul posto oppure quando la configurazione di origine non supporta l'aggiornamento sul posto. Per eseguire manualmente la migrazione, creare un nuovo pool di nodi con la versione del sistema operativo Windows Server desiderata e spostare i carichi di lavoro nel nuovo pool di nodi.
Aggiungere un nuovo pool di nodi a un cluster esistente
Aggiungere un pool di nodi con la versione del sistema operativo desiderata al cluster esistente:
- Usare l'interfaccia della riga di comando per aggiungere un pool di nodi Windows a un cluster esistente.
- Usare il portale per aggiungere un pool di nodi Windows a un cluster esistente.
- Usare PowerShell per aggiungere un pool di nodi Windows a un cluster esistente.
- Usare Terraform per aggiungere un pool di nodi Windows a un cluster esistente.
I pool di nodi di Windows Server 2025 richiedono un'immagine con FIPS abilitato. Quando si aggiunge un pool di nodi Windows Server 2025, includere --enable-fips-image (interfaccia della riga di comando di Azure) o -EnableFIPS (Azure PowerShell).
Aggiornare il file YAML
Il selettore di nodo è l'opzione più comune e consigliata per il posizionamento dei pod Windows nei nodi Windows.
Aggiungere il selettore di nodo al file YAML aggiungendo l'annotazione seguente:
nodeSelector: "kubernetes.io/os": windowsL'annotazione trova qualsiasi nodo Windows disponibile e inserisce il pod in tale nodo (seguendo tutte le altre regole di pianificazione). Quando si aggiorna la versione del sistema operativo, è necessario imporre il posizionamento su un nodo Windows e su un nodo che esegue la versione più aggiornata del sistema operativo. A tale scopo, un'opzione consiste nell'usare un'annotazione diversa. Aggiornare
<OSSKU>in modo che corrisponda all'ossku della versione desiderata del sistema operativo Windows, ad esempioWindows2025.nodeSelector: "kubernetes.azure.com/os-sku": <OSSKU>Dopo aver aggiornato
nodeSelectornel file YAML, è necessario aggiornare anche l'immagine del contenitore da usare. È possibile ottenere queste informazioni dal passaggio precedente in cui è stata creata una nuova versione dell'applicazione in contenitori modificando l'istruzioneFROMnel Dockerfile.Note
È consigliabile usare lo stesso file YAML usato per distribuire inizialmente l'applicazione. In questo modo non vengono apportate altre modifiche di configurazione oltre a quella dell'immagine
nodeSelectore del contenitore.
Applicare il file YAML aggiornato al carico di lavoro esistente
Visualizzare i nodi nel cluster usando il comando
kubectl get nodes.kubectl get nodes -o wideL'output di esempio seguente mostra tutti i nodi del cluster, inclusi il nuovo pool di nodi creato e i pool di nodi esistenti:
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+azureApplicare il file YAML aggiornato al carico di lavoro esistente usando il comando
kubectl applye specificare il nome del file YAML.kubectl apply -f <filename>L'output di esempio seguente mostra uno stato configurato per la distribuzione:
deployment.apps/sample configured service/sample unchangedA questo punto, AKS avvia il processo di terminazione dei pod esistenti e la distribuzione di nuovi pod nei nodi con l'annotazione
nodeSelector.Controllare lo stato della distribuzione usando il comando
kubectl get pods.kubectl get pods -o wideL'output di esempio seguente mostra i pod nello spazio dei nomi
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>
Aggiornare la configurazione di sicurezza e autenticazione
Se si usano account del servizio gestito di gruppo, è necessario aggiornare la configurazione dell'identità gestita per il nuovo pool di nodi. GMSA usa un segreto (account utente e password) in modo che il nodo che esegue il pod di Windows possa autenticare il contenitore con l'ID Microsoft Entra. Per accedere a tale segreto in Azure Key Vault, il nodo usa un'identità gestita che consente al nodo di accedere alla risorsa. Poiché le identità gestite sono configurate per ogni pool di nodi e il pod si trova ora in un nuovo pool di nodi, è necessario aggiornare tale configurazione. Per altre informazioni, vedere Abilitare gli account del servizio gestito del gruppo (GMSA) per i nodi di Windows Server nel cluster del servizio Azure Kubernetes.
Lo stesso principio si applica alle identità gestite per qualsiasi altro pod o pool di nodi durante l'accesso ad altre risorse di Azure. È necessario aggiornare qualsiasi accesso fornito da Identità gestita per riflettere il nuovo pool di nodi. Per visualizzare le attività di aggiornamento e accesso, vedere Come visualizzare l'attività identità gestita.
Passaggi successivi
In questo articolo si è appreso come aggiornare la versione del sistema operativo per i carichi di lavoro Windows nel servizio Azure Kubernetes. Per altre informazioni sui carichi di lavoro di Windows nel servizio Azure Kubernetes, vedere Distribuire un'applicazione contenitore Windows nel servizio Azure Kubernetes.