Karpenter v1 成了 EKS 默认推荐,Cluster Autoscaler 该换了
5 月起 EKS 新集群默认推荐用 Karpenter v1 做节点调度。EC2 节点启动速度也提升了。
为什么换
Cluster Autoscaler 扩容要 3-5 分钟(Pod Pending → CA 检测 → ASG 扩 → EC2 启动)。
Karpenter 跳过 ASG 直接调 EC2 API,30 秒内出节点。
对比
| Cluster Autoscaler | Karpenter v1 | |
|---|---|---|
| 扩容 | 3-5 分钟 | <30 秒 |
| 选型 | 预定义固定类型 | 按需动态选 |
| 成本 | 手动配 Spot | 内置 Spot 感知 |
| 缩容 | 保守 | 主动整理 |
基本配置
yaml
apiVersion: karpenter.sh/v1
kind: NodePool
metadata:
name: default
spec:
template:
spec:
requirements:
- key: "karpenter.sh/capacity-type"
operator: In
values: ["spot", "on-demand"]
- key: "node.kubernetes.io/instance-type"
operator: In
values: ["m5.large", "m5.xlarge", "m6i.large", "c5.large"]
disruption:
consolidationPolicy: WhenEmptyOrUnderutilized
consolidateAfter: 30s
迁移步骤
- 装 Karpenter(Helm)
- 创 NodePool + EC2NodeClass
- 灰度把负载迁到 Karpenter 节点
- 删 CA + Node Group
不是一键切,要灰度。
建议
新集群直接用 Karpenter。老集群如果扩容慢是痛点,花 1-2 天迁移值得。
来源:亚马逊云科技 2026/5 月 EKS 更新