AWS发布Karpenter 1.0版本
亚马逊云服务(AWS)发布了Kubernetes集群自动扩展工具Karpenter的1.0版本,标志着该工具从测试版正式毕业,并引入了稳定的API和多项新功能。
Karpenter的背景与进展
Karpenter于2021年11月推出,现已发展成为一个全面的Kubernetes原生节点生命周期管理工具。该项目在Slack等行业领导者中广受欢迎,并成为GitHub上最受欢迎的AWS开源项目之一。
Karpenter的核心功能
Karpenter通过直接管理实例和使用启动模板,消除了预配置节点组和资源大小的需求。它能够实时响应不可调度的Pod,自动按需提供新节点,从而动态调整集群的计算能力,优化性能和成本效益。
Karpenter 1.0的主要新特性
- 增强的干扰控制:用户现在可以按原因设置干扰预算,更精细地控制节点干扰,如利用率不足、空置或漂移。
- 重命名的合并策略:为了更清晰,"WhenUnderutilized"策略已更名为"WhenEmptyOrUnderutilized"。
- 新的合并控制:新增"consolidateAfter"参数,允许用户指定Karpenter在添加或删除Pod后等待多长时间才开始合并节点。
- 终止宽限期:新增"terminationGracePeriod"设置,使集群管理员能更好地控制节点的生命周期和平稳终止。
- 漂移特性提升:默认启用漂移特性,替换偏离期望状态的节点。
- AMI选择变更:"amiSelectorTerms"字段现为必填,新增"alias"术语,允许用户选择特定版本的Amazon EKS优化AMI。
- 实例元数据服务(IMDS)访问限制:为提高安全性,默认阻止Pod访问IMDS。
- Kubelet配置迁移:Kubelet设置已迁移到EC2NodeClass API。
- NodeClaims不可变:NodeClaims在创建后不可修改,以符合预期行为。
- NodePool nodeClassRef变更:所有nodeClassRef字段现为必填,"apiVersion"字段已更名为"group"。
- 指标变更:多项Prometheus指标已修改,可能需要用户更新仪表板。
计划中的弃用项
包括移除某些注释和基于ConfigMap的配置。
升级建议
AWS为从测试版升级的用户提供了使用Kubernetes webhook转换的迁移路径,前提是用户已使用带有最新API的版本。建议用户在非生产环境中测试升级过程,并查看完整的迁移文档。
用户反馈
Karpenter 1.0的发布受到了广泛好评,许多用户对其功能表示赞赏,但也有人指出缺乏对GCP的支持,并探讨了是否可以将Karpenter功能完全集成到EKS控制平面中。
获取更多信息
用户可以通过Kubernetes Slack的#karpenter频道或GitHub获取更多信息或提供反馈。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。