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.
In questa esercitazione, parte 3 di cinque, si esegue la migrazione dei nodi esistenti in Azure Linux. È possibile eseguire la migrazione dei nodi esistenti in Azure Linux usando uno dei metodi seguenti:
- Rimuovere i pool di nodi esistenti e aggiungere nuovi pool di nodi Linux di Azure.
- Migrazione dello SKU del sistema operativo sul posto.
Se non sono presenti nodi esistenti per eseguire la migrazione ad Azure Linux, passare all'esercitazione successiva. Nelle esercitazioni successive si apprenderà come abilitare la telemetria e il monitoraggio nei cluster e aggiornare i nodi Linux di Azure.
Importante
A partire dal 30 novembre 2025, il servizio Azure Kubernetes non supporta più o fornisce aggiornamenti della sicurezza per Azure Linux 2.0. L'immagine del nodo Linux 2.0 di Azure è bloccata alla versione 202512.06.0. A partire dal 31 marzo 2026, le immagini dei nodi verranno rimosse e non sarà possibile ridimensionare i pool di nodi. Eseguire la migrazione a una versione di Linux di Azure supportata aggiornando i pool di nodi a una versione di Kubernetes supportata o eseguendo la migrazione ad osSku AzureLinux3. Per ulteriori informazioni, vedere Ritiro del supporto: pool di nodi Azure Linux 2.0 su AKS.
Prerequisiti
Nelle esercitazioni precedenti è stato creato e distribuito un host contenitore Linux di Azure per il cluster del servizio Azure Kubernetes. Per completare questa esercitazione, è necessario aggiungere un pool di nodi Linux di Azure al cluster esistente. Se non è stato fatto questo passaggio e si vuole seguire questa procedura, iniziare con Esercitazione 2: Aggiungere un pool di nodi Linux di Azure al cluster del servizio Azure Kubernetes esistente.
Note
Quando si aggiunge un nuovo pool di nodi Linux di Azure, è necessario aggiungerne almeno uno come
--mode System. In caso contrario, il servizio Azure Kubernetes non consente di eliminare il pool di nodi esistente.È necessaria la versione più recente dell'interfaccia della riga di comando di Azure. Eseguire
az --versionper trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Aggiungere pool di nodi Linux di Azure e rimuovere pool di nodi esistenti
- Aggiungere un nuovo pool di nodi Linux di Azure usando il comando
az aks nodepool add. Questo comando aggiunge un nuovo pool di nodi al cluster con il flag--mode System, che lo rende un pool di nodi di sistema. I pool di nodi di sistema sono necessari per i cluster Linux di Azure.
# Declare environment variables with a random suffix for uniqueness
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export NODE_POOL_NAME="np$RANDOM_SUFFIX"
az aks nodepool add --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --mode System --os-sku AzureLinux
Risultati:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/systempool",
"name": "systempool",
"provisioningState": "Succeeded"
}
- Rimuovere i nodi esistenti usando il comando
az aks nodepool delete.
Migrazione dello SKU del sistema operativo sul posto
È ora possibile eseguire la migrazione dei pool di nodi Ubuntu esistenti in Azure Linux modificando lo SKU del sistema operativo del pool di nodi, che esegue il rollback del cluster tramite il processo di aggiornamento dell'immagine del nodo standard. Questa nuova funzionalità non richiede la creazione di nuovi pool di nodi.
Limitazioni
Esistono diverse impostazioni che possono bloccare la richiesta di migrazione dello SKU del sistema operativo. Per garantire una migrazione corretta, esaminare le linee guida e le limitazioni seguenti:
- La funzionalità di migrazione dello SKU del sistema operativo non è disponibile tramite PowerShell o il portale di Azure.
- La funzionalità di migrazione dello SKU del sistema operativo non è in grado di rinominare i pool di nodi esistenti.
- Ubuntu, Azure Linux e Azure Linux con OS Guard sono le uniche destinazioni di migrazione dello SKU del sistema operativo Linux supportate.
- L'avvio attendibile è richiesto per impostazione predefinita per Linux di Azure con OS Guard. I clienti devono avere l'abilitazione dell'avvio attendibile per poter eseguire la migrazione ad Azure Linux con OS Guard. Poiché l'avvio attendibile non può essere abilitato nei pool di nodi esistenti, potrebbe essere necessario creare un nuovo pool di nodi.
- I clienti che usano solo macchine virtuali di prima generazione non potranno eseguire la migrazione ad Azure Linux con protezione del sistema operativo perché non è supportata alcuna immagine di prima generazione. Dovranno creare nuovi pool di nodi con dimensioni vm che supportano la generazione 2.
- Uno SKU del sistema operativo Ubuntu con
UseGPUDedicatedVHDabilitato non può eseguire una migrazione dello SKU del sistema operativo. - Uno SKU del sistema operativo Ubuntu con CVM 20.04 abilitato non può eseguire una migrazione dello SKU del sistema operativo.
- I pool di nodi con Kata abilitato non possono eseguire una migrazione dello SKU del sistema operativo.
- La migrazione dello SKU del sistema operativo Windows non è supportata.
- La migrazione dello SKU del sistema operativo da Mariner a Linux di Azure è supportata, ma non il rollback a Mariner.
Prerequisiti
- Un cluster del servizio Azure Kubernetes esistente con almeno un pool di nodi Ubuntu.
- È consigliabile assicurarsi che i carichi di lavoro vengano configurati ed eseguiti correttamente nell'host contenitore Linux di Azure prima di provare a usare la funzionalità di migrazione dello SKU del sistema operativo distribuendo un cluster Linux di Azure in dev/prod e verificando che il servizio rimanga integro.
- Assicurarsi che la funzionalità di migrazione funzioni in fase di test/sviluppo prima di usare il processo in un cluster di produzione.
- Assicurarsi che i pod abbiano abbastanza budget di interruzione dei pod per consentire al servizio Azure Kubernetes di spostare i pod tra le macchine virtuali durante l'aggiornamento.
- È necessaria la versione dell'interfaccia della riga di comando di Azure 2.61.0 o successiva. Eseguire
az --versionper trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. - Se si usa Terraform, è necessario avere v3.111.0 o versione successiva del modulo Terraform di AzureRM.
Eseguire la migrazione dello SKU del sistema operativo del pool di nodi Ubuntu
- Eseguire la migrazione dello SKU del sistema operativo del pool di nodi in Azure Linux usando il comando
az aks nodepool update. Questo comando aggiorna lo SKU del sistema operativo per il pool di nodi da Ubuntu ad Azure Linux. La modifica dello SKU del sistema operativo attiva un'operazione di aggiornamento immediato, che richiede alcuni minuti.
az aks nodepool update --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --os-sku AzureLinux
Risultati:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureLinux",
"provisioningState": "Succeeded"
}
Note
Se si verificano problemi durante la migrazione dello SKU del sistema operativo, è possibile eseguire il rollback allo SKU del sistema operativo precedente.
Verificare la migrazione dello SKU del sistema operativo
Una volta completata la migrazione nei cluster di test, è necessario verificare quanto segue per assicurarsi che la migrazione abbia esito positivo:
- Se la destinazione della migrazione è Azure Linux, eseguire il comando
kubectl get nodes -o wide. L'output dovrebbe mostrareMicrosoft Azure Linux 3.0come immagine del sistema operativo e.azl3alla fine della versione del kernel. - Eseguire il comando
kubectl get pods -o wide -Aper verificare che tutti i pod e i daemonset siano in esecuzione nel nuovo pool di nodi. - Eseguire il comando
kubectl get nodes --show-labelsper verificare che tutte le etichette dei nodi nel pool di nodi aggiornato siano le aspettative.
Suggerimento
È consigliabile monitorare l'integrità del servizio per un paio di settimane prima della migrazione dei cluster di produzione.
Eseguire la migrazione dello SKU del sistema operativo nei cluster di produzione
- Aggiornare i modelli esistenti per impostare
OSSKU=AzureLinux. Nei modelli ARM è possibile usare"OSSKU": "AzureLinux"nella sezioneagentPoolProfile. In Bicep si usaosSku: "AzureLinux"nella sezioneagentPoolProfile. Infine, per Terraform si usaos_sku = "AzureLinux"nella sezionedefault_node_pool. Assicurarsi cheapiVersionsia impostato su2023-07-01o versione successiva. - Ridistribuire il modello ARM, Bicep o Terraform per il cluster per applicare la nuova impostazione di
OSSKU. Durante questa distribuzione, il cluster si comporta come se sta eseguendo un aggiornamento di un'immagine del nodo. Il cluster aumenta la capacità e quindi riavvia i nodi esistenti uno alla sola nell'immagine più recente del servizio Azure Kubernetes dal nuovo SKU del sistema operativo.
Rollback
Se si verificano problemi durante la migrazione dello SKU del sistema operativo, è possibile eseguire il rollback allo SKU del sistema operativo precedente. A tale scopo, è necessario modificare il campo SKU del sistema operativo nel modello e inviare di nuovo la distribuzione, che attiva un'altra operazione di aggiornamento e ripristina il pool di nodi nello SKU precedente del sistema operativo.
Note
La migrazione dello SKU del sistema operativo non supporta il rollback allo SKU del sistema operativo Mariner.
- Eseguire il rollback allo SKU del sistema operativo precedente usando il comando
az aks nodepool update. Questo comando aggiorna lo SKU del sistema operativo per il pool di nodi da Azure Linux a Ubuntu.
Passaggi successivi
In questa esercitazione è stata eseguita la migrazione di nodi esistenti in Linux di Azure usando uno dei metodi seguenti:
- Rimuovere i pool di nodi esistenti e aggiungere nuovi pool di nodi Linux di Azure.
- Migrazione dello SKU del sistema operativo sul posto.
Nell'esercitazione successiva si apprenderà come abilitare la telemetria per monitorare i cluster.