AKS 成本分析加载项问题

本文讨论在创建群集或群集更新期间启用Microsoft Azure Kubernetes 服务(AKS)成本分析加载项时可能会遇到的问题。

先决条件

现象

创建或更新 AKS 群集后,会收到以下格式的错误消息:

错误代码 原因
InvalidDiskCSISettingForCostAnalysis 原因 1:Azure 磁盘 CSI 驱动程序已禁用
InvalidManagedIdentitySettingForCostAnalysis 原因 2:已禁用托管标识
CostAnalysisNotEnabledInRegion 原因 3:加载项在你的区域中不可用
InvalidManagedClusterSKUForFeature 原因 4:加载项在免费定价层上不可用
OOMKilled 原因 5:成本分析代理 Pod 收到 OOMKilled 错误
Pending 原因 6:成本分析代理 Pod 停滞在挂起状态

原因 1:Azure 磁盘 CSI 驱动程序已禁用

无法在禁用 Azure 磁盘容器存储接口(CSI)驱动程序的群集上启用成本分析加载项。

解决方案:更新群集以启用 Azure 磁盘 CSI 驱动程序

运行 az aks update 命令并指定--enable-disk-driver参数。 此参数在 AKS 中启用 Azure 磁盘 CSI 驱动程序。

az aks update --resource-group <my-resource-group> --name <my-aks-cluster> --enable-disk-driver

有关详细信息,请参阅 AKS 上的 CSI 驱动程序。

原因 2:已禁用托管标识

只能在具有系统分配的托管标识或用户分配的托管标识的群集上启用成本分析加载项。

解决方案:更新群集以启用托管标识

运行 az aks update 命令,并指定--enable-managed-identity参数:

az aks update --resource-group <my-resource-group> --name <my-aks-cluster> --enable-managed-identity

有关详细信息,请参阅在 AKS 中使用托管标识

原因 3:加载项在你的区域中不可用

成本分析加载项当前未在你的区域中启用。

注意

AKS 成本分析加载项当前在以下区域中不可用:

  • usnateast
  • usnatwest
  • usseceast
  • ussecwest

原因 4:加载项在免费定价层上不可用

无法在免费定价层上的 AKS 群集上启用成本分析加载项。

解决方案:更新群集以使用标准或高级定价层

将 AKS 群集升级到标准或高级定价层。 为此,请运行以下 指定参数的 az aks update 命令 --tier 之一:

az aks update --resource-group <my-resource-group> --name <my-aks-cluster> --tier standard
az aks update --resource-group <my-resource-group> --name <my-aks-cluster> --tier premium

有关详细信息,请参阅 AKS 群集管理的免费和标准定价层

原因 5:成本分析代理 Pod 收到 OOMKilled 错误

成本分析代理 Pod 的当前内存限制设置为 4 GB。

Pod 的使用取决于已部署的容器数,每个容器的部署容器大约为 200 MB + 0.5 MB。 当前内存限制支持每个群集大约 7000 个容器。

当 Pod 的使用超过分配的 4 GB 限制时,大型群集可能会遇到 OOMKill 错误。

解决方案:禁用加载项

目前不支持自定义或手动增加加载项的内存限制。 若要解决此问题,请禁用加载项。

原因 6:成本分析代理 Pod 停滞在挂起状态

如果 Pod 停滞在“挂起”状态并出现 FailedScheduling 错误,则群集中的节点已耗尽内存容量。

解决方案:确保有足够的可分配内存

成本分析代理 Pod 的当前内存请求设置为 500 MB。 确保有足够的可分配内存来计划 Pod。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区