写点什么

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

评论

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

专访微盟CTO黄骏伟:WOS将为去中心化商业提供一整套数字基建

B Impact

从1开始,扩展Go语言后端业务系统的RPC功能

闫同学

后端 go语言 11月月更

Ansible 部署的时候提示错误 SSH password instead

HoneyMoose

小白一键出片,三分钟成为修图大师的秘诀。

淋雨

ps LR 磨皮插件 滤镜插件

简述机器学习库

穿过生命散发芬芳

机器学习 11月月更

MySQL能力全开放,OceanBase 社区版 4.0 正式上线

OceanBase 数据库

Linux中 dir 命令还能这样玩!

wljslmz

Linux 11月月更

一文了解openEuler SIG组角色划分与管理运作

openEuler

开源

极速体验docker容器健康

程序员欣宸

容器化 docekr 11月月更

如何在知乎平台上做营销推广:推荐几种引流方式

石头IT视角

企业级业务架构设计:方法论与实践 学习笔记

程序员架构进阶

业务架构 TOGAF 11月日更 Zachman

视图的创建

芯动大师

Python 视图 11月月更

设计模式之美-面向对象、设计原则、设计模式、编程规范、重构的关系

GalaxyCreater

设计模式

从2开始,在Go语言后端业务系统中引入缓存

闫同学

Go 设计 后端 11月月更

📢利用Vite插件助力证书安装

小鑫同学

前端 插件 11月月更

Vue组件入门(十五)异步组件

Augus

vue3.0 11月月更

互联网安全体制的挑战与机遇

阿泽🧸

互联网安全 11月月更

跟着卷卷龙一起学Camera--信号采样01

卷卷龙

ISP camera 11月月更

从0开始,用Go语言搭建一个简单的后端业务系统

闫同学

后端 go语言 11月月更

2022-11-03:给定一个数组arr,和一个正数k 如果arr[i] == 0,表示i这里既可以是左括号也可以是右括号, 而且可以涂上1~k每一种颜色 如果arr[i] != 0,表示i这里已经确

福大大架构师每日一题

算法 rust 福大大

设计模式之美-代码评价标准

GalaxyCreater

设计模式

史海峰:成为技术领导者 从技术到管理的必经之路丨声网开发者创业讲堂 • 第 5 期

声网

技术管理 人工智能’

StarRocks 技术内幕 | Join 查询优化

StarRocks

数据库

【LeetCode】最长递增子序列的个数Java题解

Albert

算法 LeetCode 11月月更

我上了个假“中台”!

雨果

数据中台

一次基于Fastjson的JNDI注入

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

圆满落幕!回顾 eBPF 技术的发展与挑战

OpenAnolis小助手

Linux 云原生 ebpf 云栖大会 龙蜥社区

详解CAN总线:CAN总线通信优先级机制

不脱发的程序猿

汽车电子 CAN总线 详解CAN总线 CAN总线通信优先级机制 CAN优先级

433MHz自发电无线控制器

不脱发的程序猿

物联网 嵌入式 无线通信 ​433MHz自发电无线开关

跟着卷卷龙一起学Camera--MIPI 03

卷卷龙

ISP camera 11月月更

跟着卷卷龙一起学Camera--信号采样02

卷卷龙

ISP camera 11月月更

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