Azure Kubernetes Service(AKS)용 Azure Container Linux(ACL)이란 무엇인가요?

이 문서에서는 AKS(Azure Kubernetes Service) 변경할 수 없는 컨테이너 최적화 운영 체제(OS)인 ACL(Azure Container Linux)에 대한 개요를 제공합니다. ACL은 Flatcar Container Linux 프로젝트에서 유래했으며, Flatcar의 검증된 컨테이너 우선 불변 설계를 기반으로 Azure Linux 패키지, 서비스, 플랫폼 통합을 더해 구축되었습니다. 이를 통해 ACL은 Azure 프로덕션, 보안 및 규정 준수 요구 사항을 충족하면서 업스트림 Flatcar 혁신과 긴밀하게 일치할 수 있습니다. Flatcar Container Linux에 대한 자세한 내용은 Flatcar 설명서를 참조하세요.

ACL은 AKS v1.34부터 AKS의 OS 옵션으로 GA(일반 공급)됩니다. 새 AKS 클러스터에 ACL 노드 풀을 배포하고, 기존 클러스터에 ACL 노드 풀을 추가하고, 기존 Linux 노드 풀을 ACL로 마이그레이션할 수 있습니다.

메모

ACL은 2025년 11월에 미리 보기로 공개된 AKS용 Flatcar Container Linux의 GA(정식 출시) 버전입니다. IPE(무결성 정책 적용)를 사용하는 코드 무결성과 같은 OS Guard(미리 보기) 기능은 현재 지원되지 않습니다. 현재 OS Guard 기능이 필요한 경우 OS Guard를 계속 사용하고 해당 기능을 사용할 수 있게 되면 ACL로 마이그레이션하는 것이 좋습니다.

AKS에서 ACL 사용의 이점

ACL을 AKS 노드 풀의 OS로 사용하면 보안, 안정성 및 운영 효율성을 향상시키는 몇 가지 이점이 있습니다.

  • 강력한 보안을 위한 기본 제공 불변성: 커널 적용 디렉터리의 불변성은 /usr 부팅 및 런타임 시 OS 이미지의 무결성을 확인합니다. 이 디자인은 무단 변경이 클러스터에 영향을 미치기 전에 차단하고 OS 수준 변조의 위험을 줄이는 데 도움이 됩니다.
  • 최소 공격 표면: ACL은 컨테이너를 실행하는 데 필요한 구성 요소만 제공합니다. ACL은 OS의 크기와 복잡성을 줄임으로써 공격자가 사용할 수 있는 패키지, 서비스 및 잠재적 진입점 수를 최소화하고 보안 관리를 간소화합니다.
  • 자동화된 노드 이미지 업데이트: ACL은 최신 보안 패치 및 버그 수정을 포함하는 주간 이미지 기반 업데이트를 제공합니다. 이 방법은 클러스터 전체에서 노드 OS 버전을 일관되고 최신 상태로 유지하고 알려진 취약성에 대한 노출을 줄이는 데 도움이 됩니다.
  • 사용자 체인 신뢰: Azure Linux의 서명된 패키지 및 공급망 프로세스를 기반으로 하여 시스템 구성 요소에 대한 명확한 출처를 제공합니다.
  • Azure 보안 기능과의 통합: 신뢰할 수 있는 시작 및 보안 부팅에 대한 기본 지원은 측정된 부팅 보호 및 증명을 제공합니다.
  • 오펜 소스 투명성: 플랫카뿐만 아니라 많은 기본 기술(dm-verity 및 SELinux)은 업스트림 또는 오픈 소스 있으며, Microsoft 이러한 기능을 지원하기 위한 도구와 기여를 가지고 있습니다.

ACL의 주요 기능

다음 주요 기능은 ACL을 AKS용 강화된 컨테이너 최적화 OS로 구분합니다.

  • 불변성: '/usr' 디렉터리가 dm-verity로 보호되는 읽기 전용 볼륨으로 탑재됩니다. 런타임 시 커널은 서명된 루트 해시의 유효성을 검사하여 변조를 감지하고 차단합니다.
  • SELinux를 사용한 필수 액세스 제어: ACL에는 중요한 시스템 리소스에 액세스할 수 있는 프로세스를 제한하는 필수 액세스 제어 정책을 적용하는 SELinux가 포함되어 있습니다. SELinux는 기본적으로 적용 모드에서 작동합니다. SELinux 정책은 시간이 지남에 따라 진화할 수 있습니다.
  • 신뢰할 수 있는 시작 및 보안 부팅: ACL을 사용하려면 OS가 로드되기 전에 부팅 체인의 무결성을 보장하기 위해 보안 부팅 및 vTPM을 사용하여 신뢰할 수 있는 시작 이 필요합니다. 이는 커널, initramfs 및 커널 명령줄을 서명된 단일 아티팩트로 번들로 묶는 UKI(통합 커널 이미지)를 사용하여 수행됩니다. 부팅하는 동안 UKI는 vTPM에 측정 및 기록되어 초기 단계에서 무결성을 보장합니다.
  • NVIDIA GPU 노드 지원: ACL은 AMD64 아키텍처에서 NVIDIA GPU 지원 노드 풀을 지원하므로 강화된 컨테이너 최적화 OS를 사용하여 AKS에서 HPC(고성능 컴퓨팅) 및 AI/ML 워크로드를 실행할 수 있습니다. ACL은 GPU 사용 노드 풀에 대한 ARM64 아키텍처를 지원하지 않습니다.
  • AMD64 및 ARM64 아키텍처 지원: ACL은 AKS의 AMD64 및 ARM64 아키텍처 모두에 사용할 수 있습니다.
  • Sovereign Supply Chain Security: ACL은 Azure Linux의 보안 빌드 파이프라인과 서명된 UKI(통합 커널 이미지)를 상속합니다.
  • 노드 자동 프로비저닝: ACL은 NAP(노드 자동 프로비저닝)를 지원합니다.

Important

AKS에서 Azure ACL(Container Linux) 사용하는 경우 다음 고려 사항 및 제한 사항을 검토해야 합니다.

  • ACL은 일반적으로 AKS v1.34부터 사용할 수 있습니다.
  • ACL에는 보안 부팅 및 vTPM을 사용하여 신뢰할 수 있는 시작 이 필요합니다. 신뢰할 수 없는 시작 변형은 사용할 수 없습니다.
  • Arm64의 ACL에서 Trusted Launch 호환성을 사용하려면 Cobalt 기반(v6) SKU가 필요합니다.
  • NodeImageNone 유일하게 지원되는 OS(운영 체제) 업그레이드 채널입니다. UnmanagedSecurityPatch은(는) 변경할 수 없는 /usr 디렉터리 때문에 ACL과 호환되지 않습니다.
  • 아티팩트 스트리밍 은 지원되지 않습니다.
  • Pod 샌드박싱 은 지원되지 않습니다.
  • CVM(기밀 가상 머신) 은 지원되지 않습니다.
  • 1세대 VM은 지원되지 않습니다.
  • FIPS 사용 노드는 지원되지 않습니다.

기능 로드맵

자세한 내용은 Azure Linux 기능 로드맵 참조하세요.

ACL을 사용하여 OS 마이그레이션 및 업그레이드

AKS는 현재 위치 OS SKU 마이그레이션을 사용하거나 새 ACL 노드 풀을 만들어 기존 노드 풀을 ACL로 마이그레이션하도록 지원합니다. 자세한 마이그레이션 단계, 고려 사항 및 롤백 지침은 기존 노드를 ACL로 마이그레이션을 참조하세요.

AKS 버전 관리용 ACL

AKS용 ACL은 매주 AKS 노드 이미지를 릴리스합니다. 버전 관리가 AKS 날짜 기반 형식(예: 202506.13.0)을 따릅니다. ACL은 현재 전체 노드 이미지 업데이트만 지원합니다. 자세한 내용은 Azure ACL(Container Linux) 노드 이미지 참조하세요.

릴리스 정보에서 사용 가능한 노드 이미지를 확인하고 az aks nodepool list 명령을 사용하여 실행 중인 클러스터의 nodeImageVersion를 볼 수 있습니다. 다음은 그 예입니다.

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

예시 출력:

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

AKS용 ACL 사용을 시작하려면 다음 리소스를 참조하세요.