Gardener项目中VPA 1.4.0版本升级技术解析
2025-06-26 06:50:26作者:庞队千Virginia
Vertical Pod Autoscaler(VPA)作为Kubernetes生态中关键的垂直自动伸缩组件,在Gardener项目中扮演着重要角色。最新发布的VPA 1.4.0版本带来了一系列值得关注的技术改进和新特性,本文将深入解析这些变化及其对Gardener用户的影响。
核心功能增强
VPA 1.4.0最显著的改进是引入了原地资源更新功能(In-Place Pod Vertical Scaling)。这项功能基于Kubernetes增强方案KEP-1287实现,允许Pod在不重启的情况下动态调整资源限制。要启用此功能,需要满足以下条件:
- 在vpa-updater和vpa-admission-controller组件中启用InPlaceOrRecreate特性门控
- 确保kube-apiserver、kube-scheduler和kubelet组件启用了InPlacePodVerticalScaling特性门控(Kubernetes 1.33+版本默认启用)
资源推荐机制优化
新版本对资源推荐算法进行了多项改进:
- 全局资源限制配置:新增container-recommendation-max-allowed-cpu和container-recommendation-max-allowed-memory参数,防止推荐值超过节点可分配资源上限
- 直方图置信区间配置:通过confidence-interval-cpu和confidence-interval-memory参数调整上下界收敛速度
- CPU推荐值舍入:支持将CPU推荐值舍入到用户指定的粒度,提高可读性和配置便利性
稳定性与可靠性提升
- 资源获取逻辑优化:现在会优先从Pod状态中的containerStatus[].resources获取资源信息,仅当不可用时才回退到Pod规范
- 内存推荐值修复:解决了vpa-recommender重启后可能返回0值内存推荐的问题
- 事件记录修复:修正了vpa-updater在VerticalPodAutoscaler资源上记录驱逐事件的问题
性能与资源效率改进
- 初始化容器指标处理:不再跟踪初始化容器的指标样本,减少了内存使用和日志噪音
- VPA检查点垃圾回收:优化了只针对相关命名空间的检查点清理机制
- 证书自动重载增强:vpa-admission-controller现在支持CA证书的动态重载
测试验证情况
针对VPA 1.4.0的测试验证显示:
- 在Kubernetes 1.32环境中,原地资源更新相关测试用例失败(符合预期)
- 在Kubernetes 1.33环境中,所有测试用例均通过验证
- 完整的e2e测试套件验证了核心功能的稳定性
升级建议
对于Gardener用户,升级到VPA 1.4.0时需要注意:
- 如需使用原地资源更新功能,需确保Kubernetes版本≥1.33
- 新引入的全局资源限制参数可防止不合理的资源推荐
- 初始化容器指标处理的优化可降低系统负载
- 建议在测试环境充分验证后再应用于生产环境
VPA 1.4.0的这些改进显著提升了资源自动伸缩的精确性、可靠性和用户体验,是Gardener用户值得考虑的重要升级版本。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0216
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
Ascend Extension for PyTorch
Python
758
968
昇腾LLM分布式训练框架
Python
185
231
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
698
1.4 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
878
2.03 K
暂无描述
Dockerfile
780
5.08 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
70
22
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.08 K
216