写点什么

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

评论

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

前端一面高频面试题(附答案)

loveX001

JavaScript

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

openEuler社区开源项目:CPDS(容器故障检测系统)介绍

openEuler

开源 容器 云原生 操作系统 openEuler

【深入浅出Dubbo3原理及实战】「SpringCloud-Alibaba系列」基于Nacos作为注册中心进行发布SpringCloud-alibaba生态的RPC接口实战

码界西柚

nacos SpringCloud SpringCloud Alibaba 12 月 PK 榜

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

PPC Insights 系列:高效在线匿踪查询技术

洞见科技

隐私计算 数据隐私计算 匿踪查询

常见react面试题

beifeng1996

React

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

在vue的v-for中,key为什么不能用index?

bb_xiaxia1998

Vue

常考vue面试题(附答案)

bb_xiaxia1998

Vue

从零手写react-router

helloworld1024fd

JavaScript

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

鸿蒙开发实例 | 鸿蒙操作系统的前世今生

TiAmo

华为 华为云 鸿蒙开发 12月月更

天翼云云WAF通过信通院云Web应用防火墙评估

极客天地

社招前端二面react面试题集锦

beifeng1996

React

数据驱动测试-从方法探研到最佳实践

京东科技开发者

测试 自动化测试 数据存储 自动化测试框架 测试数据构造

写过vue自定义指令吗,原理是什么?.m

bb_xiaxia1998

Vue

实施 GitOps 的三个关键步骤

SEAL安全

DevOps CI/CD gitops 12 月 PK 榜

秒云荣获2022爱分析·中国运维最佳实践案例大奖

MIAOYUN

运维 解决方案 容器云平台 云原生容器 IT解决方案

前端必会面试题汇总

loveX001

JavaScript

CPU火焰图初探-优化0.1%

FunTester

从零开始实现一个Promise

helloworld1024fd

JavaScript

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

昇腾携手OpenMMLab,支持海量算法仓库的昇腾AI推理部署

华为云开发者联盟

人工智能 华为云 昇腾AI 12 月 PK 榜

新来了个同事,设计模式用的是真优雅呀!代码如诗!!

小小怪下士

Java 程序员 设计模式

高级前端常见手写面试题指南

helloworld1024fd

JavaScript

浅谈字节码增强技术系列2-Asm与Cglib

京东科技开发者

spring asm cglib spring aop JDK 动态代理

常见经典vue面试题(面试必问)

bb_xiaxia1998

Vue

全球银行最大分布式核心系统全面上线,邮储银行做到了!

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜

前端常见手写面试题合集

helloworld1024fd

JavaScript

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