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。