Azure AKS 中 Windows 节点 AMA 日志组件 CPU 资源过度分配问题分析

Azure AKS 中 Windows 节点 AMA 日志组件 CPU 资源过度分配问题分析

AKS Azure Kubernetes Service AKS 项目地址: https://gitcode.com/gh_mirrors/ak/AKS

问题背景

在 Azure Kubernetes Service (AKS) 中使用 Windows 节点池并启用 Azure Monitor 功能时,系统会自动部署名为 ama-logs-windows 的 DaemonSet。该 DaemonSet 包含两个关键容器:ama-logs-windows 和 addon-token-adapter-win。这两个容器当前配置了过高的 CPU 资源请求,导致集群资源利用率低下和成本浪费。

技术细节分析

资源请求配置现状

当前部署的 AMA 日志组件存在以下资源请求配置问题:

  1. ama-logs-windows 容器配置了 500m CPU 请求
  2. addon-token-adapter-win 容器配置了 400m CPU 请求
  3. 实际监控数据显示:
    • ama-logs-windows 实际 CPU 使用量约为 40m
    • addon-token-adapter-win 实际 CPU 使用量约为 106m

资源浪费影响

这种过度配置的资源请求导致了严重的资源浪费:

  1. 以 DS2_v2 节点类型(2 CPU)为例,启用 Azure Monitor 后节点数量从 8-9 个激增至 18 个
  2. 每个节点浪费约 0.75 CPU 资源(900m 请求 - 150m 实际需求)
  3. 对于 20 个 DS2_v2 节点的集群,潜在可节省约 7 个节点(35% 资源)

问题根源

  1. 资源请求值设置不合理,远高于实际使用量
  2. addon-token-adapter-win 容器仅配置了 CPU 限制而未设置请求,导致 Kubernetes 默认使用限制值作为请求值
  3. Windows 节点上的配置与 Linux 节点不一致(Linux 节点 AMA 容器仅请求约 170m CPU)

解决方案与进展

微软团队已确认该问题,并计划在近期发布修复版本:

  1. 将调整 AMA 日志组件的 CPU 请求至更合理的水平(约 150m)
  2. 明确为 addon-token-adapter-win 容器设置适当的请求值
  3. 预计修复将在 6 月底前完成部署

临时缓解措施

在官方修复发布前,用户可以采取以下措施:

  1. 监控 AMA 容器的实际资源使用情况
  2. 考虑手动调整节点池规模以平衡资源利用率
  3. 评估是否可暂时降低监控粒度以减少资源消耗

技术建议

  1. 定期检查系统组件的资源请求与实际使用情况
  2. 对于关键生产环境,建议在非高峰时段进行监控功能测试
  3. 关注官方更新日志,及时应用修复版本

该问题的解决将显著提升 Windows 节点池的资源利用效率,为 AKS 用户带来可观的成本节约。

AKS Azure Kubernetes Service AKS 项目地址: https://gitcode.com/gh_mirrors/ak/AKS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虞诚彬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值