O que é Azure ACL (Container Linux) para AKS (Serviço de Kubernetes do Azure)?

Neste artigo, fornecemos uma visão geral de Azure ACL (Container Linux), um sistema operacional (SO) imutável e otimizado para contêineres para AKS (Serviço de Kubernetes do Azure). O ACL é derivado do projeto Flatcar Container Linux, com base no design imutável comprovado da Flatcar, com foco em contêineres, ao mesmo tempo em que incorpora pacotes do Azure Linux, manutenção e integração com a plataforma. Isso permite que a ACL permaneça em estreita sintonia com as inovações upstream do Flatcar, ao mesmo tempo em que atende aos requisitos de produção, segurança e conformidade do Azure. Para saber mais sobre o Flatcar Container Linux, consulte a documentação do Flatcar.

ACL está em disponibilidade geral (GA) como opção de sistema operacional no AKS a partir do AKS v1.34. Você pode implantar pools de nós de ACL em um novo cluster do AKS, adicionar pools de nós de ACL aos clusters existentes e migrar pools de nós do Linux existentes para ACL.

Note

ACL é a versão de disponibilidade geral do Flatcar Container Linux para AKS, que entrou em prévia em novembro de 2025. Atualmente, não há suporte aos recursos do OS Guard (prévia), como integridade de código com Aplicação de Política de Integridade (IPE). Se você precisar dos recursos do OS Guard hoje, recomendamos continuar usando o OS Guard e migrar para o ACL assim que esses recursos estiverem disponíveis.

Benefícios de usar ACL no AKS

O uso da ACL como sistema operacional para os pools de nós do AKS oferece vários benefícios que aprimoram a segurança, a confiabilidade e a eficiência operacional:

  • Imutabilidade integrada para maior segurança: a imutabilidade do diretório /usr, imposta pelo kernel, garante a integridade da imagem do sistema operacional na inicialização e em tempo de execução. Esse design ajuda a bloquear alterações não autorizadas antes que elas possam afetar seu cluster e reduz o risco de adulteração no nível do sistema operacional.
  • Superfície de ataque mínima: a ACL fornece apenas os componentes necessários para executar contêineres. Ao reduzir o tamanho e a complexidade do sistema operacional, a ACL minimiza o número de pacotes, serviços e possíveis pontos de entrada disponíveis para invasores e simplifica o gerenciamento de segurança.
  • Atualizações automatizadas da imagem do nó: A ACL fornece atualizações semanais baseadas em imagem que incluem os patches de segurança mais recentes e correções de bugs. Essa abordagem mantém as versões do sistema operacional do nó consistentes e atuais em todo o cluster e ajuda a reduzir a exposição a vulnerabilidades conhecidas.
  • Supply-chain trust: baseia-se em pacotes assinados do Azure Linux e processos da cadeia de suprimentos, fornecendo uma procedência clara para componentes do sistema.
  • Integração com os recursos de segurança do Azure: o suporte nativo para Inicialização Confiável e Inicialização Segura fornece proteções de inicialização medidas e atestado.
  • Open-source transparency: Flatcar, bem como muitas das tecnologias subjacentes (dm-verity e SELinux) são upstream ou código aberto, e Microsoft tem ferramentas e contribuições para dar suporte a esses recursos.

Principais recursos de ACL

Os seguintes recursos principais distinguem a ACL como um sistema operacional protegido e otimizado para contêiner para AKS:

  • Imutabilidade: o diretório '/usr' é montado como um volume somente leitura protegido por dm-verity. Em runtime, o kernel valida um hash raiz assinado para detectar e bloquear a adulteração
  • Controle de acesso obrigatório com SELinux: ACL inclui SELinux para impor políticas de controle de acesso obrigatórias que restringem quais processos podem acessar recursos confidenciais do sistema. Observe que o SELinux está operando no modo de imposição por padrão. As políticas SELinux podem evoluir ao longo do tempo.
  • Inicialização confiável e inicialização segura: a ACL requer inicialização confiável com Inicialização Segura e vTPM, para garantir a integridade da cadeia de inicialização antes que o sistema operacional seja carregado. Isso é feito usando uma UKI (Unified Kernel Image), que agrupa o kernel, initramfs e linha de comando kernel em um único artefato assinado. Durante a inicialização, o UKI é medido e registrado no vTPM, garantindo a integridade desde o estágio inicial.
  • Suporte a nós com GPU NVIDIA: a ACL oferece suporte a pools de nós com GPU NVIDIA em arquiteturas AMD64, permitindo que você execute cargas de trabalho de HPC (computação de alto desempenho) e IA/ML no AKS com um sistema operacional reforçado e otimizado para contêineres. A ACL não dá suporte a arquiteturas ARM64 para pools de nós habilitados para GPU.
  • Suporte à arquitetura AMD64 e ARM64: a ACL está disponível para arquiteturas AMD64 e ARM64 no AKS.
  • Segurança soberana da cadeia de suprimentos: ACL herda os pipelines de compilação seguros do Azure Linux e as Imagens Unificadas de Kernel (UKIs) assinadas.
  • Provisionamento automático de nós: ACL oferece suporte ao NAP.

Importante

Se você estiver usando Azure ACL (Container Linux) no AKS, examine as seguintes considerações e limitações:

Plano de funcionalidades

Para obter mais informações, consulte o Roteiro de funcionalidades do Azure Linux.

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

O AKS oferece suporte à migração de pools de nós existentes para ACL usando a migração local da SKU do sistema operacional ou criando novos pools de nós ACL. Para obter etapas de migração detalhadas, considerações e instruções de reversão, consulte Migrar nós existentes para ACL.

ACL para controle de versão do AKS

ACL para AKS lança imagens semanais de nós do AKS. O controle de versão segue o formato baseado em data do AKS (por exemplo: 202506.13.0). Atualmente, a ACL oferece suporte apenas a atualizações completas da imagem do nó. Para obter mais informações, consulte imagens de nó do Azure Container Linux (ACL).

Você pode verificar as imagens de nós disponíveis nas notas de versão e ver o nodeImageVersion de um cluster em execução usando o comando az aks nodepool list. 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: