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 questo articolo viene fornita una panoramica di Azure Container Linux (ACL), un sistema operativo (OS) non modificabile e ottimizzato per i contenitori per Servizio Azure Kubernetes (AKS). ACL deriva dal progetto Flatcar Container Linux e si basa sul design immutabile, incentrato sui container e già collaudato di Flatcar, integrando al contempo i pacchetti di Azure Linux, la gestione degli aggiornamenti e l'integrazione con la piattaforma. Ciò consente a ACL di rimanere strettamente allineati con l'innovazione flatcar upstream, rispettando al contempo i requisiti di produzione, sicurezza e conformità di Azure. Per altre informazioni su Flatcar Container Linux, vedere la documentazione di Flatcar.
ACL è generalmente disponibile (GA) come opzione del sistema operativo in AKS a partire dalla versione 1.34. È possibile distribuire pool di nodi ACL in un nuovo cluster del servizio Azure Kubernetes, aggiungere pool di nodi ACL ai cluster esistenti ed eseguire la migrazione dei pool di nodi Linux esistenti a ACL.
Annotazioni
ACL è il rilascio in disponibilità generale di Flatcar Container Linux per AKS, entrato in anteprima a novembre 2025. Le funzionalità di OS Guard (anteprima), ad esempio l'integrità del codice con l'imposizione dei criteri di integrità (IPE), attualmente non sono supportate. Se oggi sono necessarie funzionalità di OS Guard, è consigliabile continuare a usare OS Guard e eseguire la migrazione a ACL dopo che tali funzionalità diventano disponibili.
Vantaggi dell'utilizzo di ACL in AKS
L'uso dell'ACL come sistema operativo per i pool di nodi del servizio Azure Kubernetes offre diversi vantaggi che migliorano la sicurezza, l'affidabilità e l'efficienza operativa:
-
Immutabilità integrata per una maggiore sicurezza: l'immutabilità applicata dal kernel della
/usrdirectory verifica l'integrità dell'immagine del sistema operativo all'avvio e al runtime. Questa progettazione consente di bloccare le modifiche non autorizzate prima di poter influire sul cluster e ridurre il rischio di manomissioni a livello di sistema operativo. - Superficie di attacco minima: ACL include solo i componenti necessari per eseguire i container. Riducendo le dimensioni e la complessità del sistema operativo, L'ACL riduce al minimo il numero di pacchetti, servizi e potenziali punti di ingresso disponibili per gli utenti malintenzionati e semplifica la gestione della sicurezza.
- Aggiornamenti automatici delle immagini dei nodi: ACL offre aggiornamenti settimanali basati su immagini che includono le patch di sicurezza e le correzioni di bug più recenti. Questo approccio mantiene coerenti e aggiornate le versioni del sistema operativo del nodo nel cluster e consente di ridurre l'esposizione a vulnerabilità note.
- Affidabilità della catena di approvvigionamento: si basa sui pacchetti firmati e sui processi della catena di approvvigionamento di Azure Linux, garantendo una provenienza chiara dei componenti di sistema.
- Integrazione con le funzionalità di sicurezza di Azure: il supporto nativo per l'avvio attendibile e l'avvio protetto offre protezioni e attestazioni di avvio misurate.
- Trasparenza open source: Flatcar, così come molte delle tecnologie sottostanti (dm-verity e SELinux), sono progetti upstream o open source, e Microsoft mette a disposizione strumenti e contributi per supportare queste funzionalità.
Funzionalità principali di ACL
Le seguenti funzionalità chiave distinguono ACL come sistema operativo rinforzato e ottimizzato per i container per AKS:
- Immutabilità: la directory '/usr' viene montata come volume di sola lettura protetto da dm-verity. In fase di esecuzione, il kernel convalida un hash radice firmato per rilevare e bloccare la manomissione
- Controllo di accesso obbligatorio con SELinux: ACL include SELinux per applicare criteri di controllo di accesso obbligatori che limitano i processi che possono accedere alle risorse di sistema sensibili. Si noti che SELinux opera in modalità enforcing per impostazione predefinita. I criteri di SELinux possono evolversi nel tempo.
- Avvio attendibile e avvio protetto: L'ACL richiede l'avvio attendibile con avvio protetto e vTPM, per garantire l'integrità della catena di avvio prima del caricamento del sistema operativo. Questo risultato viene ottenuto usando un'immagine del kernel unificata (UKI), che aggrega il kernel, initramfs e la riga di comando del kernel in un singolo artefatto firmato. Durante l'avvio, l'immagine unificata del kernel viene misurata e registrata in vTPM, garantendo l'integrità dalla fase iniziale.
- Supporto dei nodi GPU NVIDIA: ACL supporta i pool di nodi con GPU NVIDIA su architetture AMD64, consentendo di eseguire su AKS carichi di lavoro di calcolo ad alte prestazioni (HPC) e AI/ML con un sistema operativo con protezione avanzata ottimizzato per i contenitori. L'ACL non supporta le architetture ARM64 per i pool di nodi abilitati per GPU.
- Supporto dell'architettura AMD64 e ARM64: ACL è disponibile per le architetture AMD64 e ARM64 nel servizio Azure Kubernetes.
- Sicurezza sovrana della catena di fornitura: ACL eredita da Azure Linux le pipeline di build sicure e le immagini kernel unificate (UKI) firmate.
- Provisioning automatico dei nodi: ACL supporta il provisioning automatico dei nodi.
Importante
Se si utilizza Azure Container Linux (ACL) in AKS, assicurarsi di consultare le seguenti considerazioni e limitazioni:
- ACL è generalmente disponibile a partire da AKS v1.34.
- ACL richiede Trusted Launch con Secure Boot e il vTPM. Le varianti Non-Trusted Launch non sono disponibili.
- ACL su Arm64 richiede SKU basati su Cobalt (v6) per abilitare la compatibilità con Trusted Launch.
-
NodeImageeNonesono gli unici canali di aggiornamento del sistema operativo supportati.UnmanagedeSecurityPatchsono incompatibili con ACL a causa della directory/usrnon modificabile. - Artifact Streaming non è supportato.
- Il sandboxing dei pod non è supportato.
- Le macchine virtuali riservate non sono supportate.
- Le macchine virtuali di seconda generazione non sono supportate.
- I nodi abilitati per FIPS non sono supportati.
Roadmap delle funzionalità
Per altre informazioni, vedere roadmap per le funzionalità Azure Linux.
Migrazioni e aggiornamenti del sistema operativo con ACL
AKS supporta la migrazione dei pool di nodi esistenti ad ACL tramite la migrazione sul posto dello SKU del sistema operativo o mediante la creazione di nuovi pool di nodi ACL. Per istruzioni dettagliate sulla migrazione, considerazioni e rollback, vedere Eseguire la migrazione di nodi esistenti a ACL.
ACL per la gestione delle versioni di AKS
ACL per AKS rilascia immagini settimanali dei nodi di AKS. La versione segue il formato basato sulla data di AKS (ad esempio: 202506.13.0). ACL supporta attualmente solo gli aggiornamenti completi delle immagini del nodo. Per altre informazioni, vedere immagini dei nodi Azure Container Linux (ACL).
È possibile verificare le immagini dei nodi disponibili nelle note di rilascio e visualizzare nodeImageVersion per un cluster in esecuzione usando il comando az aks nodepool list. Per esempio:
az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'
Output di esempio:
[
{
"name": "nodes",
"nodeImageVersion": "AKSAzureContainerLinux-202606.01.0"
}
]
Contenuti correlati
Per iniziare a usare ACL per AKS, consulta le risorse seguenti: