vpa recommender源码分析

本文深入探讨了VPA(垂直Pod自动缩放器)的Recommender组件,阐述了其设计原则,包括如何基于历史资源利用率和Pod OOM事件进行资源推荐。Recommender的目标是确保CPU和内存利用率在一定阈值内,同时介绍了其受Google Borg Autopilot启发的移动窗口推荐算法。文章详细分析了Recommender的源码,包括启动时加载历史数据、定期更新推荐值的过程,并讲解了LoadRealTimeMetrics如何获取实时指标数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 介绍

Recommender 是 VPA 的主要组成部分。它负责计算推荐资源。在启动时,Recommender 从 History Storage 中获取所有 Pod 的历史资源利用率(无论它们是否使用 VPA)以及 Pod OOM 事件的历史记录。它聚合这些数据并将其保存在内存中。

2. Recommender 设计理念

VPA 控制容器的 Resource Requests 值(内存和 CPU)。 Request 值的计算是基于对同一组控制器下的所有 pod 中具有相同名称的容器的当前和先前运行的分析来计算的。

推荐模型 (MVP) 假设内存和 CPU 利用率是独立的随机变量,其分布等于过去 N 天观察到的变量(推荐值为 N=8 以捕获每周峰值)。未来更高级的模型可能会尝试检测趋势、周期性和其他与时间相关的模式。

  • 对于 CPU,目标是将容器使用率超过请求的高百分比(例如 95%)时的时间部分保持在某个阈值(例如 1% 的时间)以下。在此模型中,“CPU 使用率”被定义为在短时间间隔内测量的平均使用率。测量间隔越短,针对尖峰、延迟敏感的工作负载的建议质量就越高。最小合理分辨率为 1/min,推荐为 1/sec。

  • 对于内存,目标是将特定时间窗口内容器使用率超过请求的概率保持在某个阈值以下(例如,24 小时内低于 1%)。窗口必须很长(≥ 24 小时)以确保由 OOM 引起的驱逐不会明显影响 (a) 服务应用程序的可用性 (b) 批处理计算的进度(更高级的模型可以允许用户指定 SLO 来控制它)。

vpa Recommender只管推荐。VPA Recommender 监视所有 Pod,不断为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值