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 con OS Guard. È possibile eseguire la migrazione dei nodi esistenti usando uno dei metodi seguenti:
- Rimuovere i pool di nodi esistenti e aggiungere nuovi pool di nodi di Azure Linux con OS Guard.
- Migrazione dello SKU del sistema operativo sul posto.
Se non sono presenti nodi esistenti di cui eseguire la migrazione, passare all'esercitazione successiva. Nelle esercitazioni successive si apprenderà come abilitare i dati di telemetria e il monitoraggio nei cluster e aggiornare Azure Linux con i nodi OS Guard.
Considerazioni e limitazioni
Prima di iniziare, esaminare le considerazioni e le limitazioni seguenti per Azure Linux con OS Guard (anteprima):
- Kubernetes versione 1.32.0 o successiva è richiesta per Azure Linux con OS Guard.
- Federal Information Process Standard (FIPS) e Avvio attendibile sono abilitati in tutte le immagini di Azure Linux con protezione del sistema operativo.
- Azure CLI e i modelli ARM sono gli unici metodi di distribuzione supportati per Azure Linux con OS Guard su AKS in anteprima. PowerShell e Terraform non sono supportati.
- Le immagini Arm64 non sono supportate nell'anteprima di Azure Linux con protezione del sistema operativo.
-
NodeImageeNonesono gli unici canali di aggiornamento del sistema operativo supportati per Azure Linux con OS Guard su AKS.UnmanagedeSecurityPatchnon sono compatibili con Azure Linux con OS Guard a causa della directory /usr non modificabile. - Artifact Streaming non è supportato.
- Il sandboxing dei pod non è supportato.
- Le macchine virtuali riservate non sono supportate.
- Le macchine virtuali di prima generazione non sono supportate.
Prerequisiti
- Nell'esercitazione precedente è stato creato e distribuito un cluster Linux di Azure con OS Guard. Se questi passaggi non sono stati completati e se vuoi seguire questa procedura, vedere Esercitazione 1: Creare un cluster con Azure Linux con OS Guard per AKS.
- È necessaria la versione più recente dell'interfaccia della riga di comando di Azure. Usare il
az versioncomando per trovare la versione. Per eseguire l'aggiornamento alla versione più recente, usare ilaz upgradecomando .
Installare l'estensione dell'interfaccia della riga di comando di Azure aks-preview
Importante
Le funzionalità di anteprima di AKS sono disponibili su base self-service, su scelta. Le anteprime vengono fornite "così come sono" e "come disponibili" e sono escluse dai contratti di servizio e dalla garanzia limitata. Le anteprime del servizio Azure Kubernetes sono parzialmente coperte dal supporto clienti con la massima diligenza 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-previewusando il comandoaz extension add.az extension add --name aks-previewEseguire l'aggiornamento alla versione più recente dell'estensione usando il comando
az extension update.az extension update --name aks-preview
Registrare il flag della funzionalità Preview di Azure Linux OS Guard
Registrare il flag della funzionalità
AzureLinuxOSGuardPreviewusando il comandoaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"Sono necessari alcuni minuti per visualizzare lo stato Registered.
Verificare lo stato della registrazione usando il comando
az feature show.az feature show --namespace "Microsoft.ContainerService" --name "AzureLinuxOSGuardPreview"Quando lo stato riflette Registrato, aggiornate la registrazione del
Microsoft.ContainerServiceprovider di risorse usando il comandoaz provider register.az provider register --namespace "Microsoft.ContainerService"
Aggiungere Azure Linux con pool di nodi di OS Guard e rimuovere i pool di nodi esistenti
Aggiungere un nuovo pool di nodi Linux di Azure con OS Guard usando il
az aks nodepool addcomando . 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 Azure Linux con cluster OS Guard.# 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 AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpmOutput di esempio:
{ "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.az aks nodepool delete --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME
Limitazioni per la migrazione dello SKU del sistema operativo sul posto
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. Quando si utilizza la funzionalità di migrazione dello SKU del sistema operativo con Azure Linux con OS Guard (Anteprima), non è disponibile tramite Terraform, PowerShell o il portale di Azure.
- La funzionalità di migrazione dello SKU del sistema operativo non supporta la ridenominazione dei 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 Azure Linux con OS Guard. È necessario abilitare Avvio attendibile per eseguire la migrazione ad Azure Linux con OS Guard. Ciò potrebbe richiedere la creazione di nuovi pool di nodi.
- FIPS è necessario quando si abilita Azure Linux con OS Guard. Se attualmente non si usa un'immagine FIPS, è possibile includere
--enable-fipsnel comando di aggiornamento del pool di nodi. - Le macchine virtuali di prima generazione non sono supportate.
- Uno SKU del sistema operativo Ubuntu con
UseGPUDedicatedVHDabilitato non può eseguire una migrazione dello SKU del sistema operativo. - Le macchine virtuali riservate non sono supportate.
- Il sandboxing dei pod non è supportato.
- La migrazione dello SKU del sistema operativo Windows non è supportata.
- La migrazione dello SKU del sistema operativo da Mariner ad Azure Linux è supportata, ma il rollback a Mariner non è supportato.
Prerequisiti per la migrazione dello SKU del sistema operativo in loco
- Un cluster del servizio Azure Kubernetes esistente con almeno un pool di nodi di Azure Linux.
- È consigliabile assicurarsi che i carichi di lavoro vengano configurati ed eseguiti correttamente nell'host contenitore di Azure Linux con OS Guard prima di tentare di usare la funzionalità di migrazione dello SKU del sistema operativo distribuendo un cluster Linux di Azure con OS Guard 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. Usare il
az versioncomando per trovare la versione. Per eseguire l'aggiornamento alla versione più recente, usare ilaz upgradecomando .
Eseguire una migrazione dello SKU del sistema operativo in situ
È possibile eseguire la migrazione dei pool di nodi Ubuntu o dei pool di nodi di Azure Linux esistenti in Azure Linux con protezione del sistema operativo 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; Al contrario, i pool di nodi esistenti ricreano automaticamente l'immagine.
Eseguire la migrazione dello SKU del sistema operativo del pool di nodi dell'host del contenitore di Azure Linux ad Azure Linux con protezione del sistema operativo
Eseguire la migrazione dello SKU del sistema operativo del pool di nodi ad Azure Linux con protezione del sistema operativo usando il comando
az aks nodepool update. Questo comando attiva una reimmagine del pool di nodi, aggiornando lo SKU del sistema operativo del pool di nodi da Azure Linux a Azure Linux con OS Guard. 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 AzureLinuxOSGuard --node-osdisk-type Managed --enable-fips-image --enable-secure-boot --enable-vtpmOutput di esempio:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1", "name": "nodepool1", "osSku": "AzureLinuxOSGuard", "provisioningState": "Succeeded" }
Annotazioni
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 di migrazione è Azure Linux con OS Guard, eseguire il
kubectl get nodes -o widecomando . 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 il rollback allo SKU del sistema operativo precedente
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 ricrea l'immagine del pool di nodi nello SKU precedente del sistema operativo.
Annotazioni
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 con protezione del sistema operativo ad Azure Linux.
Passaggi successivi
In questa esercitazione è stata eseguita la migrazione di nodi esistenti in Azure Linux con OS Guard. Nell'esercitazione successiva si apprenderà come abilitare la telemetria per monitorare i cluster.