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.
Annotazioni
Azure Linux con OS Guard (anteprima) è in fase di sostituzione con Azure Container Linux (ACL).
Azure Container Linux è il sistema operativo Linux a lungo termine, non modificabile e ottimizzato per i contenitori per Servizio Azure Kubernetes (AKS). Offre un sistema operativo host sicuro, minimo e coerente a livello operativo progettato per eseguire carichi di lavoro in contenitori su larga scala.
Per altre informazioni, vedere la panoramica Azure Container Linux (ACL).
In questa esercitazione, nella parte tre di cinque, si esegue la migrazione dei nodi esistenti ad 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 OS Guard.
- Eseguire una migrazione diretta dello SKU del sistema operativo.
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.
Azure Linux con considerazioni e limitazioni di OS Guard
Prima di iniziare, esaminare le considerazioni e le limitazioni seguenti per Azure Linux con OS Guard (anteprima):
- È necessaria la versione 1.32.0 o successiva di Kubernetes 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.
- interfaccia della riga di comando di Azure 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 con Azure Linux con protezione del sistema operativo nel servizio Azure Kubernetes, disponibile in anteprima.
-
NodeImageeNonesono gli unici canali di aggiornamento del sistema operativo (OS) supportati per Azure Linux con OS Guard in 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 non hai completato questi passaggi e desideri seguire la procedura, consulta 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 aks-preview interfaccia della riga di comando di Azure
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'estensioneaks-preview usando il comando az extension add.
az extension add --name aks-preview
Eseguire l'aggiornamento alla versione più recente dell'estensione usando il comando az extension update.
az extension update --name aks-preview
Registrare il flag di funzionalità AzureLinuxOSGuardPreview
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, aggiornare la registrazione del
Microsoft.ContainerServicefornitore 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" # Add a new Azure Linux with OS Guard node pool 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
Migrazione dello SKU del sistema operativo sul posto
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 usa la funzionalità di migrazione dello SKU del sistema operativo con Azure Linux con OS Guard pPreview, 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.
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.
- Verificare che i pod dispongano di un Pod Disruption Budget (PDB) sufficiente per consentire ad AKS 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 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
È 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 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-vtpm
Output 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.