使用Terraform通过预留实例创建EKS集群时预留实例不生效求助
问题排查与解决方案
1. 修正节点组配置错误
AWS EKS 节点组不存在reserved这个容量类型选项,你修改的 Terraform 模板参数属于无效配置:
- EKS 托管节点组的容量类型有效值仅为
ON_DEMAND、SPOT、CAPACITY_BLOCK,你需要将此前修改的生命周期策略改回on-demand - 预留实例是 AWS 侧的计费优惠机制,不是实例启动的容量类型,只要节点参数和预留实例匹配,AWS 会自动完成预留实例的费用抵扣,不需要额外配置启动参数
2. 确认预留实例与节点参数完全匹配
预留实例仅会抵扣参数完全一致的 EC2 实例费用,需逐一核对以下配置:
- 实例规格完全一致:比如预留实例为
m5.large,则 EKS 节点也必须使用m5.large规格,架构(x86/ARM)也需完全匹配 - 可用区/区域匹配:如果购买的是可用区级预留实例,EKS 节点部署的可用区必须和预留实例的可用区完全一致;如果购买的是区域级预留实例则无需匹配可用区,但需确认 EKS 集群部署在预留实例对应的区域下
- 操作系统平台匹配:如果 EKS 节点使用 Amazon Linux 2 系统,预留实例的平台必须为
Linux/UNIX,平台不匹配无法完成抵扣 - 租赁模式匹配:预留实例如果是默认共享租赁,EKS 节点不能配置为专用实例/专用主机模式
3. 确认预留实例的使用状态
- 登录 AWS 控制台进入预留实例页面,确认预留实例处于
active状态,未过期、未被其他非 EKS 的 EC2 实例占用全部额度
4. 核对抵扣记录
- 预留实例属于计费优惠,EC2 控制台的实例生命周期字段仍会显示
on-demand,属于正常现象,不代表预留实例未被调用 - 可进入 AWS 账单控制台,查看成本明细中的预留实例抵扣记录,确认是否已经生效抵扣
内容的提问来源于stack exchange,提问作者codeaprendiz
相关产品推荐
相关产品推荐

