O que é o Azure Container Linux (ACL) para Azure Kubernetes Service (AKS)?

Neste artigo, fornecemos uma visão geral do Azure Container Linux (ACL), um sistema operativo (SO) imutável e otimizado para contentores para Azure Kubernetes Service (AKS). ACL deriva do projeto Flatcar Container Linux, baseando-se na conceção imutável e centrada em contentores, já comprovada, do Flatcar, ao mesmo tempo que incorpora pacotes do Azure Linux, manutenção e integração com a plataforma. Isto permite que a ACL se mantenha em estreita ligação com a inovação upstream de Flatcars, cumprindo os requisitos de produção, segurança e conformidade da Azure. Para saber mais sobre o Flatcar Container Linux, consulte a documentação do Flatcar.

A ACL está geralmente disponível (GA) como opção de sistema operativo no AKS a partir do AKS v1.34. Pode implementar pools de nós ACL num novo cluster AKS ou adicionar pools de nós ACL aos seus clusters existentes.

Note

ACL é a versão GA do Flatcar Container Linux para AKS, que entrou em pré-visualização pública em novembro de 2025. Funcionalidades do OS Guard (pré-visualização), como a integridade do código com o Integrity Policy Enforcement (IPE), serão incorporadas na ACL numa versão futura, após a qual o OS Guard (pré-visualização) será retirado. Se precisar de funcionalidades do OS Guard hoje, recomendamos continuar a usar o OS Guard e migrar para ACL assim que essas funcionalidades estiverem disponíveis.

Benefícios de usar ACL no AKS

Benefit Description
Imutabilidade incorporada para maior segurança A imutabilidade do diretório /usr, imposta pelo kernel, verifica a integridade da imagem do sistema operativo no arranque e em tempo de execução. Este design ajuda a bloquear alterações não autorizadas antes que possam afetar o seu cluster e reduz o risco de adulteração ao nível do sistema operativo.
Superfície de ataque mínima A ACL envia apenas os componentes necessários para operar contentores. Ao reduzir o tamanho e a complexidade do sistema operativo, a ACL minimiza o número de pacotes, serviços e potenciais pontos de entrada disponíveis para atacantes e simplifica a gestão de segurança.
Atualizações automáticas de imagens de nós A ACL fornece atualizações semanais baseadas em imagens que incluem os últimos patches de segurança e correções de bugs. Esta abordagem mantém as versões do sistema operativo dos nós consistentes e atualizadas em todo o cluster e ajuda a reduzir a exposição a vulnerabilidades conhecidas.
Confiança na cadeia de abastecimento Baseia-se nos pacotes assinados e processos da cadeia de abastecimento do Azure Linux, fornecendo uma proveniência clara dos componentes do sistema.
Integração com recursos de segurança do Azure O suporte nativo para Inicialização Confiável e Inicialização Segura fornece proteções de inicialização e atestado medidos.
Transparência de código aberto O Flatcar, assim como muitas das tecnologias subjacentes (dm-verity e SELinux), são upstream ou open source, e a Microsoft tem ferramentas e contribuições para suportar estas funcionalidades.

Características principais do ACL

As seguintes características-chave distinguem a ACL como um sistema operativo reforçado e otimizado para contentores para AKS:

  • Imutabilidade: O diretório '/usr' está montado como um volume apenas de leitura protegido por dm-verity. Em tempo de execução, o kernel valida um hash raiz assinado para detetar e bloquear a adulteração
  • Controlo de acesso obrigatório com o SELinux: A ACL inclui o SELinux para aplicar políticas obrigatórias de controlo de acesso que restringem quais os processos que podem aceder a recursos sensíveis do sistema. O SELinux opera em modo de aplicação por defeito.
  • Trusted Launch e Secure Boot: A ACL requer Trusted Launch com Secure Boot e vTPM, para garantir a integridade da cadeia de arranque antes do carregamento do sistema operativo. Isso é conseguido usando uma Imagem Unificada do Kernel (UKI), que agrupa o kernel, initramfs e linha de comando do kernel em um único artefato assinado. Durante a inicialização, o UKI é medido e gravado no vTPM, garantindo a integridade desde o estágio inicial.
  • Suporte a nós com GPU NVIDIA: O ACL suporta pools de nós com GPU NVIDIA em arquiteturas AMD64, permitindo executar cargas de trabalho de computação de alto desempenho (HPC) e de IA/ML no AKS com um sistema operativo robusto e otimizado para contentores. ACL não suporta arquiteturas ARM64 para conjuntos de nós com GPU.
  • Suporte para arquitetura AMD64 e ARM64: ACL está disponível tanto para arquiteturas AMD64 como ARM64 em AKS.
  • Sovereign Supply Chain Security: A ACL herda os pipelines de build seguros Azure Linux e as Imagens Unificadas do Kernel (UKIs) assinadas.
  • Auto-provisionamento de nós: A ACL suporta o auto-provisionamento de nós (NAP).

Funcionalidades não suportadas

Atualmente, o ACL não suporta as seguintes funcionalidades:

  • Os SecurityPatchUnmanaged e do nó.
  • VMs da Geração 1: Não podes usar tamanhos de VMs que só suportam a Geração 1 com ACL.
  • Sandboxing de pods.
  • Uma variante de lançamento não confiável. O ACL exige Trusted Launch.

Se o seu cluster atual usar alguma das funcionalidades não suportadas, pode não conseguir adicionar um pool de nós ACL a esse cluster.

Mapa de objetivos de caraterísticas

Azure Linux publica um roteiro de funcionalidades que inclui funcionalidades em desenvolvimento e disponíveis em disponibilidade geral (GA) e em pré-visualização pública.

Migrações e atualizações do sistema operativo com ACL

O AKS suporta a migração de pools de nós existentes para ACL usando migração de SKU no local do sistema operativo ou criando novos pools de nós ACL. Para passos detalhados de migração, considerações e instruções de rollback, consulte Migrar nós existentes para ACL.

ACL para controlo de versões do AKS

O ACL para AKS disponibiliza semanalmente imagens de nós do AKS. O versionamento segue o formato baseado em data AKS (por exemplo: 202506.13.0). Atualmente, o ACL apenas suporta atualizações completas da imagem do nó.

Pode verificar as imagens dos nós disponíveis nas notas de lançamento e visualizar nodeImageVersion um cluster em execução usando o az aks nodepool list comando. Por exemplo:

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'

Exemplo de saída:

[
{
    "name": "nodes",
    "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0"
}
]

Para começar a usar ACL para AKS, consulte os seguintes recursos: