2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Kubernetes Autoscaler Karpenter 达到 1.0 里程碑

作者:Matt Saunders

  • 2024-10-21
    北京
  • 本文字数:1456 字

    阅读完需:约 5 分钟

Kubernetes Autoscaler Karpenter 达到 1.0 里程碑

Amazon Web Services(AWS) 发布开源 Kubernetes 集群自动扩展工具 Karpenter 的 1.0 版本。这标志着 Karpenter 已经完成 Beta 测试。该版本带来了稳定的 API 和多项新特性。


Karpenter 最初于 2021 年 11 月推出,现已经发展成为一个全面的 Kubernetes-native 节点生命周期管理器。正如我们今年早些时候报道的那样,这个项目在 Slack 等行业领导者中越来越受欢迎,并已成为 GitHub 上十大最受欢迎的 AWS 开源项目之一。


在 Infracloud 的一篇文章中,Himanshu Verma 解释了 Karpenter 如何消除了预配置节点组和调整资源大小的需求,并直接使用 Launch Templates 来管理实例。Karpenter 根据需要自动提供新节点,实时响应 Unschedulable pod。它可以动态调整集群计算容量,优化性能和成本效益。



1.0 版本修复了许多 Bug,并带来了多项新特性。Karpenter 1.0 的主要特性包括:


  • 增强中断控制: 用户现在可以按原因设置中断预算,以便对节点中断进行细粒度控制,以应对利用率不足、空闲或漂移等情况。

  • 重命名合并策略: 为清楚起见,“WhenUnderutilized”策略已被重命名为“WhenEmptyOrUnderutilized”。

  • 新增合并控制: 在添加或删除 pod 时,“consolidateAfter”参数允许用户指定 Karpenter 在合并节点之前等待多长时间。

  • 终止宽限期: 新增的“terminationGracePeriod”设置使集群管理员对节点生存期和优雅终止有了更多控制。

  • 漂移特性升级: 漂移特性,即替换偏离期望状态的节点,现在默认启用。

  • AMI 选择更改:“amiSelectorTerms”字段现在是必需的,并且新增的“alias”术语使用户可以选择 Amazon EKS-optimized AMI 的特定版本。

  • 实例元数据服务(IMDS)访问限制: 为了提高安全性,默认禁止 pod 对 IMDS 的访问。

  • Kubelet 配置位置更改:Kubelet 设置改到了 EC2NodeClass API 中。

  • NodeClaims 不可变:NodeClaims 在创建后不能再修改,从而保证与预期的行为一致。

  • NodePool nodeClassRef 更改: 所有的 nodeClassRef 字段现在都是必需的,“apiVersion”字段被重命名为“group”。

  • 指标更改: 修改了几个 Prometheus 指标,这可能需要用户更新他们的仪表板。


该版本还包括一些计划中的弃用,包括删除某些注解和基于 ConfigMap 的配置。


对于希望从 Beta 版升级的用户,AWS 提供了一个使用 Kubernetes webhook 转换的迁移路径,前提是用户已经使用了包含最新 API 的版本。该过程可以就地升级 API 而不需要替换节点。但是,建议用户在进行升级之前查看完整的迁移文档,并在非生产环境中测试升级过程。


在 X(以前的 Twitter)上的一段演练视频中,Olalekan Taofeek 详细解释了他是如何将 Karpenter 从 0.37 升级到 1.0 的——这个版本差异比迁移路径提供的版本差异更大。他强调,有几个破坏性的变化需要特别注意:


  • 用户数据不再用于 Kubernetes 配置。

  • 节点池 / 组配置更改——API 版本和字段名称发生了变化,用户需要更新配置。

  • 新增一个“启动时间”字段,需要用户在自己的工作负载中加以考虑。

  • 将一些字段从节点池移到了节点类配置中。


Karpenter 1.0 发布的消息大受欢迎,例如 Vatsal Bajpai 在 X(以前的 Twitter)上写道:


“在云上,Karpenter 已经成为 k8s 的必需品,真让人高兴!”


在 Reddit 上的一个帖子中,用户普遍对这个版本赞赏有加。有人指出,Azure 上已经有可用的移植版本,但令人遗憾的是,GCP 上没有。其他人则在考虑,Karpenter 的功能是否可以完全集成到 EKS 的控制平面中。


用户可以通过 Kubernetes Slack #karpenter 频道或 GitHub 了解更多信息或提供反馈。


查看原文链接:

https://www.infoq.com/news/2024/09/karpenter-10/


2024-10-21 08:009057

评论

发布
暂无评论
发现更多内容

英国政府提供15亿英镑贷款援助捷豹路虎应对网络攻击危机

qife122

网络安全 政府援助

工业管理 项目管理经验总结(17)

万里无云万里天

项目管理 工业 工厂运维

C#/.NET/.NET Core技术前沿周刊 | 第 56 期(2025年9.22-9.28)

追逐时光者

C# .net .net core

C#/.NET/.NET Core优秀项目和框架2025年9月简报

追逐时光者

C# .net .net core

一个基于 .NET 开源、轻便的 Windows 优化工具,适用于 Win7 - Win11 最新版的优化!

追逐时光者

.net windows

大数据环境下使用 YashanDB 进行实时分析

数据库砖家

如何通过YashanDB简化数据治理流程

数据库砖家

漏洞赏金计划的困境:i915漏洞与ChromeOS、Intel赏金项目剖析

qife122

安全研究 漏洞赏金

一套开源、美观、高性能的跨平台 .NET MAUI 控件库,助力轻松构建美观且功能丰富的应用程序!

追逐时光者

C# .net MAUI

如何使用YashanDB提升业务智能分析能力如何使用YashanDB提升业务智能分析能力

数据库砖家

精选 4 款开源免费、美观实用的 MAUI UI 组件库,助力轻松构建美观且功能丰富的应用程序!

追逐时光者

C# .net MAUI

Visual Studio 2026 预览体验版现已发布,一起来看看带来哪些新功能!

追逐时光者

.net Visual Studio

精选 4 款基于 C# 开源、实用的工具类库,开发效率提升利器!

追逐时光者

C# .net .net core

Zread:智谱AI推出的 Github 项目阅读神器,一键生成超详细中文文档!

追逐时光者

GitHub AI'

.NET 使用 CsvHelper 快速读取和写入 CSV 文件

追逐时光者

C# .net .net core

一款开源免费、组件丰富的 WPF UI 控件库,提供了 100 多款常用控件!

追逐时光者

C# .net WPF

推荐 4 款基于 .NET 开源、功能强大的文件管理工具,助力高效的整理文件与文件夹!

追逐时光者

C# .net

.NET Fiddle:一个方便易用的在线.NET代码编辑工具

追逐时光者

C# .net .net core

如何通过YashanDB管理复杂数据模型

数据库砖家

如何通过YashanDB实施有效的数据治理

数据库砖家

一款专门为 WPF 打造的开源 Office 风格用户界面控件库

追逐时光者

C# .net WPF

一个基于 .NET 开源、简易、轻量级的进销存管理系统

追逐时光者

C# .net .net core

精选 4 款基于 .NET 开源、功能强大的 Windows 系统优化工具

追逐时光者

.net windows

如何使用YashanDB数据库提升业务决策效率

数据库砖家

如何提升跨区域使用YashanDB数据库的效率

数据库砖家

一款基于 .NET 开源美观、功能丰富的串口调试工具

追逐时光者

.net WPF

如何提升YashanDB数据库的查询安全性

数据库砖家

智能制造 柔性制造经验总结(1)

万里无云万里天

工业 智能制造 工厂运维

找 Vue 后台管理系统模板看这个网站就够了!!!

追逐时光者

Vue

一款为程序员和运维人员量身打造的一站式开发运维利器

追逐时光者

Docker SSH

10 分钟使用 OrchardCore 快速构建 .NET 内容管理系统(CMS)

追逐时光者

C# .net

Kubernetes Autoscaler Karpenter 达到 1.0 里程碑_编程语言_InfoQ精选文章