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) 概述。
在本教程 的第 4 部分(共 5 部分)中,你将了解如何:
- 启用 Container Insights 以监控现有集群。
- 验证代理是否已成功部署。
- 验证解决方案是否已启用。
下一教程介绍如何升级 Azure Linux 节点。
先决条件
- 在前面的教程中,你已创建并部署了具有 OS Guard 群集的 Azure Linux。 若要完成本教程,需要一个现有群集。 如果尚未完成此步骤并想要继续学习,请从 教程 1 开始:使用适用于 AKS 的 OS Guard 创建具有 Azure Linux 的群集。
- 如果要将现有 AKS 群集连接到另一订阅中的 Log Analytics 工作区,则需要在订阅中向 Log Analytics 工作区注册
Microsoft.ContainerService资源提供程序。 有关详细信息,请参阅注册资源供应商。 - 需要最新版本的 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)。
连接到您的集群
启用监视之前,请务必确保已连接到正确的群集。 使用 OS Guard 群集获取 Azure Linux 的凭据,并将 kubectl 配置为使用 az aks get-credentials 命令。
az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
启用监视
可以使用 默认 Log Analytics 工作区,或通过 指定 Log Analytics 工作区,为 Azure Linux with OS Guard 群集启用监视。 以下步骤演示如何使用任一方法为群集启用监视。
选项 1:使用默认 Log Analytics 工作区
使用以下命令检查是否已为群集启用监视加载项。 如果不是这样,该命令将使用 AKS 群集订阅的默认资源组中的默认 Log Analytics 工作区,为启用了 OS Guard 的 Azure Linux 群集启用监视。 如果区域中尚不存在工作区,则创建的默认工作区类似于以下格式: DefaultWorkspace-< GUID >-< Region >。
# Check if monitoring addon is already enabled
MONITORING_ENABLED=$(az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query "addonProfiles.omsagent.enabled" -o tsv)
if [ "$MONITORING_ENABLED" != "true" ]; then
az aks enable-addons --addons monitoring --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
fi
选项 2:指定 Log Analytics 工作区
可以指定Log Analytics工作区,以便通过 OS Guard 群集监视 Azure Linux。 工作区的资源 ID 采用以下格式:"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>"。
az aks enable-addons --addons monitoring --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --workspace-resource-id <workspace-resource-id>
验证代理和解决方案部署
使用以下命令验证是否已成功部署代理:
kubectl get ds ama-logs --namespace=kube-system示例输出:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE ama-logs 3 3 3 3 3 <none> 3m22s使用以下命令验证解决方案的部署:
kubectl get deployment ama-logs-rs -n=kube-system示例输出:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE ama-logs-rs 1 1 1 1 3h
验证解决方案配置
使用 az aks show 命令获取解决方案的配置。 使用此命令,可以检查解决方案是否已启用、Log Analytics工作区资源 ID 是什么,并获取有关群集的摘要信息。
az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query "addonProfiles.omsagent"
片刻之后,该命令将会完成,并返回有关解决方案的 JSON 格式信息。 命令结果应显示监视加载项配置文件,并类似于以下示例输出:
{
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxx/resourceGroups/xxxxx/providers/Microsoft.OperationalInsights/workspaces/xxxxx"
},
"enabled": true
}
后续步骤
在本教程中,你将使用 OS Guard 群集为 Azure Linux 启用遥测和监视。 下一教程介绍如何使用 OS Guard 节点升级 Azure Linux。