写点什么

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:001

评论

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

分析了2020年3万多条的微博热搜,我看到了什么

CoderW

Python 程序人生 爬虫 后端 微博热搜

架构师训练营 1 期:大作业(一)

piercebn

架构师训练营第 1 期

物联网基础知识整理及实战

garlic

物联网

指令重排序、内存屏障很难?看完这篇你就懂了!

Java鱼仔

Java 程序员 面试 JMM 指令重排序

数据爬虫

RainGod

爬虫

LeetCode题解:264. 丑数 II,暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构师训练营第一周作业-学习总结

阿德儿

架构师训练营第十一周作业

丁乐洪

架構師訓練營 大作業一

ilake

系统安全高可用总结

Mars

系统高可用原因分析&方案

Mars

架構師訓練營 大作業二

ilake

Week11总结

lggl

架构师训练营第十一周笔记

李日盛

笔记

上地七街

潇潇雨歇

甲方日常 78

句子

工作 随笔杂谈 日常

第一周架构方法-周总结

潘涛

架构师训练营第 11 周学习总结

菜青虫

Spring 源码学习 12:registerBeanPostProcessors

程序员小航

Java spring 源码

北极科考:我们为什么要在北极呆上一年?

脑极体

第九周 作业1

Mr_No爱学习

第六周命题作业

cc

第六周学习心得

cc

第十一周课后练习

晴空万里

架构师训练营第六周课后作业

万有引力

架构师训练营第一周作业-命题作业

阿德儿

第九周-学习总结

Mr_No爱学习

食堂就餐卡系统设计

永不言弃

架构

SAML和OAuth2这两种SSO协议的区别

程序那些事

权限系统 OAuth2 程序那些事 SAML SSO

架构师第一周总结

永不言弃

架构师训练营第 11 周课后练习

菜青虫

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