容器见解的旧式身份验证
容器见解默认为托管标识身份验证,该身份验证具有一个监视代理,其使用群集的托管标识将数据发送到 Azure Monitor。 它取代了旧版基于证书的本地身份验证,并使得无需再将“监视指标发布者”角色添加到群集。
本文介绍如何在使用旧式身份验证方法启用容器见解时迁移到托管标识身份验证,以及如何启用旧式身份验证(如果需要)。
重要
如果群集采用旧式身份验证且 Log Analytics 工作区密钥轮换,则监视数据将停止流向 Log Analytics 工作区。 必须禁用容器见解加载项,然后重新启用,以便监视数据通过新的轮换工作区密钥再次开始流动。 应迁移到不使用 Log Analytics 工作区密钥的容器见解托管标识身份验证。
迁移到托管标识身份验证
如果在托管标识身份验证可用之前启用了容器见解,则可以使用以下方法来迁移群集。
可以从 AKS 群集的“监视设置”面板迁移到托管标识身份验证。 在“监视”部分中,单击“见解”选项卡。在“见解”选项卡中,单击“监视设置”选项,选中“使用托管标识”框
如果看不到“使用托管标识”选项,则你使用的是 SPN 群集。 在这种情况下,必须使用命令行工具进行迁移。 有关迁移说明和模板,请参阅其他选项卡。
AKS
AKS 群集必须首先禁用监视,然后升级到托管标识。 此次迁移目前仅支持 Azure 公有云、世纪互联运营的 Microsoft Azure 和 Azure 政府云。 对于具有用户分配的标识的群集,仅支持 Azure 公有云。
注意
最低 Azure CLI 2.49.0 或更高版本。
获取配置的 Log Analytics 工作区资源 ID:
az aks show -g <resource-group-name> -n <cluster-name> | grep -i "logAnalyticsWorkspaceResourceID"
使用以下命令禁用监视:
az aks disable-addons -a monitoring -g <resource-group-name> -n <cluster-name>
如果群集使用的是服务主体,请使用以下命令将其升级到系统托管标识:
az aks update -g <resource-group-name> -n <cluster-name> --enable-managed-identity
使用在步骤 1 中获取的 Log Analytics 工作区资源 ID 启用具有托管标识身份验证选项的监视加载项:
az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --workspace-resource-id <workspace-resource-id>
已启用 Arc 的 Kubernetes
注意
具有 ARO 的已启用 Arc 的 Kubernetes 群集不支持托管标识身份验证。
检索为容器见解扩展配置的 Log Analytics 工作区。
az k8s-extension show --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters -n azuremonitor-containers
使用第一步返回的工作区,使用托管标识身份验证选项启用容器见解扩展。
az k8s-extension create --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true logAnalyticsWorkspaceResourceID=\<workspace-resource-id\>
时间线
任何正在创建或加入的新群集现在都默认为托管标识身份验证。 但是,仍支持使用基于解决方案的旧式身份验证的现有群集。
后续步骤
如果升级代理时遇到问题,请查看故障排除指南来获得支持。