找回密码
 立即注册
首页 业界区 安全 CA 不够用了?Azure 推 Karpenter + Spot,让 AKS 便宜 ...

CA 不够用了?Azure 推 Karpenter + Spot,让 AKS 便宜 80%!

讣丢 2025-6-1 21:14:09
引言

在 2023 年的 KubeCon 北美大会上,微软宣布在 Azure Kubernetes Service(AKS) 中引入 Karpenter 作为 Cluster Autoscaler(CA)的替代方案,并将其命名为 Node Autoprovisioning(NAP)。
虽然 Cluster Autoscaler 一直以来是 AKS/Kubernetes 的默认节点扩缩工具,但其存在诸多限制,促使微软引入 Karpenter。
本文将深入探讨这些挑战,并介绍 Karpenter 如何有效解决它们。
CA vs Karpenter vs CloudPilot AI

太长不看版


如果你想了解这几款工具的更多技术细节、查看 Karpenter 与 Cluster Autoscaler 的架构差异,回复关键词【对比】,获取完整版 PDF 文件。
Cluster Autoscaler 的局限性

以下是 Cluster Autoscaler 进行节点自动扩缩的流程示意图:


  • 受限于虚拟机规模集( VMSS Groups )
Cluster Autoscaler 仅支持 AKS 中的虚拟机规模集。
每个 VMSS 由特定类型的 VM 实例组成,具有固定的 VM SKU、硬件规格和 CPU:内存比(例如 Standard D4sv5,4 vCPU 和 16GB 内存)。

  • 节点池约束
当新 Pod 需要部署但当前节点容量已满时,Cluster Autoscaler 会尝试创建新的节点,但只能基于现有 VMSS SKU 进行扩容。如果该类型的实例不可用,Pod 将保持待调度状态。

  • 扩缩能力受限
Cluster Autoscaler 仅能基于指定的 VMSS 进行弹性扩缩,即使其他虚拟机 SKU 有闲置资源,也无法利用这些 VM SKU 的剩余容量。
Karpenter的优势

Karpenter 是一款开源的 Kubernetes 集群自动扩缩工具,专为优化性能和成本而设计,旨在以灵活、高性能和简洁的方式实现节点的弹性扩展。它比 Cluster Autoscaler 的扩缩速度更快,并且能够直接创建独立节点,无需传统的节点组限制。

Karpenter 的核心特性:

高效扩缩:快速弹性扩展 Kubernetes 节点。
灵活调度:无需依赖 VMSS 也能启动新节点。
成本优化:支持自动补丁更新和 Kubernetes 版本升级,降低总体成本。
✅基于 YAML 配置的 NodePool,可自定义节点类型及调度策略。
Karpenter 的中断管理

中断控制器 (Disruption Controller)负责在 Kubernetes 集群中终止或替换节点,并采用以下三种策略来决定如何处理节点:
1. 节点到期

Karpenter 会为节点设置存活时间(TTL,到期后进行替换。例如:
  1. spec:
  2.   disruption:
  3.     consolidationPolicy: WhenUnderutilized
  4.     expireAfter: 300s  #
复制代码
2. 延迟合并

设置中断间隔,控制在触发中断操作前等待的时间。
3. 资源整合

Karpenter 通过分析节点资源使用情况来主动减少集群成本。


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册