适用于 Azure Kubernetes 服务 (AKS) 的 Azure Linux 入门

Azure Linux 为Azure Kubernetes 服务 (AKS)提供了两个容器优化的操作系统(OS)选项:Azure Linux 容器主机Azure容器 Linux(ACL)。 两者都建立在 Azure Linux 基础之上,由Microsoft维护,但它们在设计理念、更新模型和安全状况方面有所不同。

本文可帮助你了解 AKS 的两个 Azure Linux 容器优化 OS 选项之间的差异,并提供有关根据工作负荷要求选择正确选项的指导。

Azure Linux 容器主机和 Azure 容器 Linux (ACL) 比较

下表总结了 Azure Linux 容器主机和 Azure 容器 Linux(ACL)在多个维度之间的主要差异,包括基本 OS、文件系统模型、更新机制、OS 升级通道和其他操作和安全特征:

方面 Azure Linux 容器主机 Azure 容器 Linux (ACL)
基于 Azure Linux 配备 Azure Linux 软件包和维护服务的 Flatcar Container Linux
文件系统模型 可变(标准读写) 不可变(/usr 是只读的,受 dm-verity 保护)
更新机制 基于包的 OS 更新 基于映像的每周更新(无单个包更新)
OS 升级通道 支持所有 AKS 节点操作系统升级通道 仅限 NodeImageNone
包管理 基于 RPM 的(dnf 无包管理(不可变 OS)
自定义 包级自定义可能 工作负荷自定义主要通过容器;需要主机级软件交付时,可通过系统扩展提供扩展性
安全模型 经过强化并针对 Azure 优化、符合 CIS 1 级要求的 Linux 内核 内核强制的不变性 (dm-verity)、默认情况下强制执行的 SELinux 、需要安全启动的受信任启动
Boot 要求 标准 AKS 虚拟机(VM)大小 需要启用安全启动和 vTPM 的受信任启动(仅适用于第 2 代 VM)
体系结构支持 AMD64 和 ARM64 AMD64 和 ARM64
GPU 支持 AKS 上的所有 NVIDIA GPU AMD64 VM 大小 AKS 上的所有 NVIDIA GPU AMD64 VM 大小
FIPS 支持 支持 支持
Pod 沙盒 支持 不支持
项目流式处理 支持 尚不支持
机密虚拟机 (VM) 支持 尚不支持

何时使用 Azure Linux 容器主机

如果需要,请使用 Azure Linux 容器主机:

  • 广泛的功能兼容:完全支持所有 AKS OS 升级通道、FIPS、Pod 沙盒、制品流式传输和机密虚拟机。
  • 包级灵活性:能够在节点上安装、更新或自定义单个包。
  • 常规用途容器工作负载:适用于现有 AKS 扩展、加载项和开源工具的轻型、安全且稳定的容器主机。

若要开始使用 AKS 上的 Azure Linux 容器主机,请参阅 Quickstart:使用 Azure CLI 为 AKS 群集部署 Azure Linux 容器主机。

何时使用 Azure 容器 Linux (ACL)

如果需要,请使用 ACL:

  • 防篡改基础结构:使用 dm-verity 实现内核强制不可变性可确保在运行时无法修改 OS 映像。
  • 最小的攻击面:仅包括运行容器所需的组件,从而减少了攻击者的包数量和潜在入口点。
  • 一致的自动更新:基于映像的每周自动更新将每个节点保留在同一 OS 版本与最新的安全修补程序。
  • 严格的安全性与合规性:SELinux(默认处于强制模式)以及带安全启动的可信启动(通过统一内核映像)默认启用。

若要开始使用 AKS 上的 ACL,请参阅 Quickstart:使用 Azure CLI