教程:将具有 OS Guard 的 Azure Linux(预览版)节点池添加到现有的 Azure Kubernetes 服务 (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,并启用遥测来监视群集。

先决条件

Azure Linux 使用 OS Guard 时的注意事项和限制

在开始之前,请查看以下 Azure Linux 与 OS Guard 的注意事项和限制(预览版):

将 Azure Linux 添加到具有 OS Guard 的节点池中

使用 az aks nodepool add 命令将具有 OS Guard 节点池的 Azure Linux 添加到现有群集中并指定 --os-sku AzureLinuxOSGuard。 还需要启用 FIPSsecure bootvtpm 才能将 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。