你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:为带操作系统防护的 Azure Linux(预览版)群集启用遥测和监视

在本教程的第 4 部分(共 5 部分)中,设置 Container Insights 以使用 OS Guard 群集监视 Azure Linux。 你将了解如何:

  • 启用对现有群集的监视。
  • 验证代理是否已成功部署。
  • 验证是否启用了解决方案。

下一教程介绍如何升级 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 群集的凭据,并使用 az aks get-credentials 命令配置 kubectl 以使用这些凭据。

az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME

启用监视

选项 1:使用默认 Log Analytics 工作区

以下步骤允许使用 Azure CLI 通过 OS Guard 群集监视 Azure Linux。 在此示例中,不需要指定现有工作区。 该 az aks enable-addons 命令通过在 AKS 群集订阅的默认资源组中创建默认工作区来简化此过程。 如果区域中尚不存在工作区,则创建的默认工作区将类似于格式 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/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<WorkspaceName>"

az aks enable-addons --addons monitoring --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --workspace-resource-id <workspace-resource-id>

验证代理和解决方案部署

使用 kubectl get ds 命令验证代理是否已成功部署。

kubectl get ds ama-logs --namespace=kube-system

示例输出:

User@aksuser:~$ 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 命令验证解决方案的部署。

kubectl get deployment ama-logs-rs -n=kube-system

示例输出:

User@aksuser:~$ 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

验证解决方案配置

验证解决方案是否已启用,检索 Log Analytics 资源 ID,并使用命令获取有关群集 az aks show 的摘要信息。

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。