You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AKS虚拟节点池产生意外VM费用相关问题咨询

核心逻辑澄清

你提到的名称格式为aks-control-xxx-vmss的VMSS资源,本质是AKS集群默认创建的系统节点池资源,并非虚拟节点(基于ACI)的配套资源,其计费和虚拟节点的ACI计费本身就是完全独立的两类计费项:VMSS按实例运行时长全额计费,ACI按每个实例的实际CPU/内存使用时长单独计费。
你当前的计费感知问题核心是把系统节点池的VM费用误认为是虚拟节点的附加费用,AKS的托管控制平面本身不收费,你提到的B2s规格可查看到运行系统容器的节点,就是这个VMSS对应的系统worker节点。


问题逐个解答

1、是否可以不使用VMSS,直接运行Azure Container Instances?

可以,分两种场景:

  • 无需Kubernetes编排能力的场景:直接单独创建ACI实例即可,全程不需要AKS集群,也不会产生任何VMSS相关费用,仅按ACI实例的实际使用量计费
  • 需要保留AKS编排能力的场景:可创建无常规节点池的Serverless AKS集群,仅启用虚拟节点能力,所有工作负载都调度到ACI提供的虚拟节点上,集群不会创建任何VMSS资源,也不会产生相关费用

2、如果必须使用VMSS,是否有方法可以让该VM被集群识别,从而可在上面部署容器,充分利用该资源?

该VM对应的节点本身就已经被AKS集群纳管,默认仅运行系统组件是因为节点默认配置了CriticalAddonsOnly=true:NoSchedule污点,禁止普通用户工作负载调度,你可以通过两种方式利用该资源:

  • 给需要调度到该节点的工作负载添加对应污点的容忍规则,示例配置参考:
tolerations:
- key: "CriticalAddonsOnly"
  operator: "Equal"
  value: "true"
  effect: "NoSchedule"
  • 直接修改系统节点池配置,允许用户工作负载调度,执行对应Azure CLI命令即可:
    az aks nodepool update --cluster-name <你的集群名> --resource-group <你的资源组名> --name <系统节点池名> --mode User
    修改后该节点池会转为用户节点池,可正常调度所有类型的工作负载。

3、是否是我操作过程中存在配置错误?

不属于操作配置错误,属于对AKS资源构成和计费逻辑的认知偏差:

  • 只要你创建的是带常规节点池的AKS集群,无论是否启用虚拟节点,都会默认生成系统节点池VMSS并按运行时长收费
  • 虚拟节点的ACI实例计费和常规节点池的VM计费互相独立,没有关联,不存在"ACI共享VM资源抵扣VM费用"的规则

成本优化建议

  • 若长期不需要使用常规VM节点,可直接将现有集群迁移到无节点池的Serverless AKS,彻底消除VMSS相关费用
  • 若保留现有VMSS节点,可将资源占用稳定、延迟敏感的工作负载调度到VM节点上,仅将突发、峰值的弹性工作负载调度到虚拟节点的ACI上,最大化资源利用率降低整体成本
  • 核对账单时可在Azure成本管理中按资源类型筛选,拆分VMSS和ACI的费用明细,若确实存在虚拟节点额外生成VMSS费用的异常情况,可将成本明细截图附在微软工单中加快处理进度

内容的提问来源于stack exchange,提问作者Lenny D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 20:42:03