Che cos'è Azure Container Linux (ACL) per Servizio Azure Kubernetes (AKS)?

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 /usr directory 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:

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"
}
]

Per iniziare a usare ACL per AKS, consulta le risorse seguenti: