如何查询AKS集群Node pool的历史活跃节点数量
AKS节点池历史活跃节点数查询可行方案
方法1:通过Azure Monitor内置指标查询
- 首先确认AKS集群已开启基础监控功能,无需额外部署组件即可获取历史指标
- 进入Azure门户【监视器】→【指标】,作用域选择目标AKS集群
- 指标命名空间选择
Kubernetes 节点池,指标项选Ready nodes,添加维度node_pool_name过滤为目标节点池x - 时间范围调整为你需要查询的昨晚时段,即可看到对应时间点的就绪(活跃)节点数,支持导出为CSV做统计
若找不到
Kubernetes 节点池指标命名空间,可进入AKS的【见解】页面确认监控功能是否启用,启用后默认保留90天的指标历史数据
方法2:查询关联VMSS的活动日志
- AKS每个节点池对应一个独立的虚拟机规模集(VMSS)资源,默认存放在名称为
MC_<集群资源组>_<集群名>_<区域>的关联资源组中,VMSS名称格式为aks-<节点池名>-<随机后缀> - 进入目标节点池对应的VMSS页面,打开【活动日志】,过滤操作类型为
扩展/缩减虚拟机规模集的操作记录,即可看到每次扩缩容的时间点以及调整后的实例总数,对应时间点的实例数即为当时的活跃节点数
活动日志默认保留90天,查询昨晚的历史数据完全覆盖
方法3:通过K8s事件/审计日志查询
- 如果你提前配置了K8s事件持久化、或者开启了集群审计日志留存,可以过滤
Node类型资源的创建/删除事件,筛选带有node.kubernetes.io/node-pool: x标签的节点,统计目标时段的存活节点总数 - 未配置事件持久化的集群默认只保留最近1小时的事件,无法直接查询昨晚的历史数据,这种情况不推荐使用该方法
方法4:自建指标采集(适合长期留存需求)
- 若需要长期、灵活查询节点池历史数据,可在集群内部署kube-state-metrics,采集
kube_node_status_condition指标,过滤node_pool标签为x且状态为Ready的时间序列,配合自建Prometheus/Grafana存储,即可随时查询任意时段的活跃节点数
临时查询需求用前两种方法即可满足,无需额外部署集群组件
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

