Important
从 2026 年 12 月 10 日开始,Azure Kubernetes 服务 (AKS)不再支持使用适用于 AKS 的 OS Guard Azure Linux(预览版)。 此时,AKS 不再使用 OS Guard 节点映像生成新的 Azure Linux 或提供安全修补程序,并且不能再使用 OS Guard Azure Linux 创建新节点池。 2027 年 3 月 10 日,AKS 删除所有具有 OS Guard 节点映像的现有 Azure Linux,这会导致缩放和修正(重置映像和重新部署)操作失败。 为了避免中断,请迁移到Azure容器 Linux (ACL)。 有关此停用的详细信息,请参阅停用GitHub问题和Azure更新停用公告。 若要随时了解公告和更新,请按照 AKS 发行说明进行操作。
Note
带有 OS Guard(预览版)的 Azure Linux 正被 Azure Container Linux(ACL)取代。
Azure容器 Linux 是用于Azure Kubernetes 服务 (AKS)的长期、不可变、容器优化的 Linux 操作系统(OS)。 它提供了一个安全、最少且可操作一致的主机 OS,旨在大规模运行容器化工作负荷。
有关详细信息,请参阅 Azure 容器 Linux (ACL) 概述。
在 AKS 中,具有相同配置的节点将组合成节点池。 每个节点池都包含运行应用程序的虚拟机(VM)。 在上一教程中,你创建了一个包含具有单个节点池的 OS Guard 群集的 Azure Linux。 若要满足应用程序的不同计算、存储或安全要求,可以添加用户节点池。
在本教程中,第 2/5 部分将介绍你如何:
- 将具有 OS Guard 节点池的 Azure Linux 添加到现有群集。
- 检查节点池的状态。
本教程中的命令使用 Tutorial 1 中设置的环境变量:使用适用于 AKS 的 OS Guard Azure Linux 创建群集。
在后面的教程中,了解如何使用 OS Guard 将节点迁移到 Azure Linux,并启用遥测来监视群集。
先决条件
- 在上一教程中,你已创建并部署了具有 OS Guard 群集的 Azure Linux。 如果尚未完成这些步骤并想要继续执行,请参阅 教程 1:使用适用于 AKS 的 OS Guard 创建具有 Azure Linux 的群集。
- 需要最新版本的 Azure CLI。 使用
az version命令查找版本。 若要升级到最新版本,请使用az upgrade命令。
Azure Linux 使用 OS Guard 时的注意事项和限制
在开始之前,请查看以下 Azure Linux 与 OS Guard 的注意事项和限制(预览版):
- 使用 OS Guard 的 Azure Linux 需要 Kubernetes 版本 1.32.0 或更高版本。
- 所有具有 OS Guard 映像的 Azure Linux 都启用了 联邦信息进程标准(FIPS) 和 受信任的启动 。
- 在 AKS 上的 Azure Linux,只有 Azure CLI 和 ARM 模板这两种部署方法受支持,并且 OS Guard 目前处于预览状态。 不支持 PowerShell 和 Terraform。
-
NodeImage和None是唯一受支持的操作系统(OS)升级通道,适用于在 AKS 上使用 OS Guard 的 Azure Linux。Unmanaged和SecurityPatch与带有 OS Guard 的 Azure Linux 不兼容,因为 /usr 目录是不可变的。 - 不支持工件流式传输。
- 不支持 Pod Sandboxing。
- 不支持机密虚拟机(CVM)。
- 不支持第 1 代虚拟机(VM)。
将 Azure Linux 添加到具有 OS Guard 的节点池中
使用 az aks nodepool add 命令将具有 OS Guard 节点池的 Azure Linux 添加到现有群集中并指定 --os-sku AzureLinuxOSGuard。 还需要启用 FIPS、secure boot 和 vtpm 才能将 Azure Linux 与 OS Guard 配合使用。 以下示例创建名为 osgNodePool 的节点池,该池将三个节点添加到群集:
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name osgNodePool \
--node-count 3 \
--os-sku AzureLinuxOSGuard
--node-osdisk-type Managed
--enable-fips-image
--enable-secure-boot
--enable-vtpm
示例输出:
{
"agentPoolType": "VirtualMachineScaleSets",
"count": 3,
"name": "osgNodePool",
"osType": "Linux",
"provisioningState": "Succeeded",
"resourceGroup": "testAzureLinuxOSGuardResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools"
}
Note
节点池的名称必须以小写字母开头,且只能包含字母数字字符。 对于 Linux 节点池,长度必须介于 1 到 12 个字符之间。
检查节点池状态
使用 az aks nodepool list 命令检查节点池的状态。
az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME
示例输出:
[
{
"agentPoolType": "VirtualMachineScaleSets",
"availabilityZones": null,
"count": 3,
"enableAutoScaling": false,
"enableEncryptionAtHost": false,
"enableFips": false,
"enableNodePublicIp": false,
"id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/npxxxxxx",
"maxPods": 110,
"mode": "User",
"name": "npxxxxxx",
"nodeImageVersion": "AzureLinuxContainerHost-2025.10.03",
"orchestratorVersion": "1.32.6",
"osDiskSizeGb": 128,
"osDiskType": "Managed",
"osSku": "AzureLinux",
"osType": "Linux",
"powerState": {
"code": "Running"
},
"provisioningState": "Succeeded",
"resourceGroup": "myAKSResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"vmSize": "Standard_DS2_v2"
},
{
"agentPoolType": "VirtualMachineScaleSets",
"availabilityZones": null,
"count": 3,
"enableAutoScaling": false,
"enableEncryptionAtHost": false,
"enableFips": false,
"enableNodePublicIp": false,
"id": "/subscriptions/REDACTED/resourcegroups/myAKSResourceGroupxxxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxxxx/agentPools/npxxxxxx",
"maxPods": 110,
"mode": "User",
"name": "npxxxxxx",
"nodeImageVersion": "AzureLinuxOSGuard-2025.10.03",
"orchestratorVersion": "1.32.6",
"osDiskSizeGb": 128,
"osDiskType": "Managed",
"osSku": "AzureLinuxOSGuard",
"osType": "Linux",
"powerState": {
"code": "Running"
},
"provisioningState": "Succeeded",
"resourceGroup": "myAKSResourceGroupxxxxx",
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"vmSize": "Standard_DS2_v2"
}
]
后续步骤
在本教程中,你已将包含 OS Guard 节点池的 Azure Linux 添加到现有群集。 下一教程介绍如何使用 OS Guard 将现有节点迁移到 Azure Linux。