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. Podes implementar pools de nós ACL num novo cluster AKS, adicionar pools de nós ACL aos clusters existentes e migrar pools de nós Linux existentes para ACL.

Note

ACL é a versão GA do Flatcar Container Linux para AKS, que entrou em pré-visualização em novembro de 2025. As funcionalidades do OS Guard (pré-visualização), como a integridade do código com imposição da Política de Integridade (IPE), não são atualmente suportadas. 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

Utilizar ACL como sistema operativo para os seus pools de nós AKS oferece vários benefícios que aumentam a segurança, fiabilidade e eficiência operacional:

  • Imutabilidade incorporada para maior segurança: A imutabilidade imposta pelo kernel do /usr diretório 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 transporta 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 as últimas correções 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.
  • Supply-chain trust: Baseia-se nos pacotes assinados e processos da cadeia de abastecimento do Azure Linux, fornecendo uma proveniência clara para os 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 do código aberto: O Flatcar, assim como muitas das tecnologias subjacentes (dm-verity e SELinux), são projetos upstream ou de código aberto, e a Microsoft dispõe de 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. Note que o SELinux está a operar em modo de imposição por defeito. As políticas do SELinux podem evoluir ao longo do tempo.
  • 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).

Importante

Se estiver a usar Azure Container Linux (ACL) no AKS, certifique-se de rever as seguintes considerações e limitações:

Mapa de objetivos de caraterísticas

Para mais informações, consulte o Roteiro de Funcionalidades Azure Linux.

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ó. Para mais informações, consulte imagens de nó do Azure Container Linux (ACL).

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: