Changes by Kind
API Change
- Added MemoryAggregationIntervalSeconds for the VPA object (#9317, @omerap12)
- EvictAfterOOMThreshold is now per vpa (#9071, @omerap12)
- The VPA support InPlace update mode. VPA will not evict any pods and only try to resize pods inplace. (#8888, @omerap12)
- Users can configure a startupBoost policy in the VPA spec. (#9141, @kamarabbas99)
- VPA now stores a observedGeneration in both status and condition fields. (#9524, @adrianmoisey)
Bug or Regression
- Fix bug where VPA admission-controller could write a webhook with an empty cert for a brief period. (#9599, @adrianmoisey)
- Fixed OOM detection for pods with
restartPolicy: Never(#7955, @tkukushkin) - Fixed a bug where the presence of a LimitRange object with CPU constraints in the cluster prevented VPA from recreating Pods managed by the targeted controllers. The updated code section, which proportionally reduces resource requests and limits, could result in the loss of sub-millicore values. (#8946, @iamzili)
- Fixed a bug where users could use alpha (off-by-default) features by updating an existing VPA resource, bypassing the feature gate check. (#9557, @adrianmoisey)
Other (Cleanup or Flake)
- Bump Kubernetes dependencies to 1.36.0 (#9547, @adrianmoisey)
- Reduce VPA memory usage by stripping away unnecessary managed fields from informer cache (#9634, @adrianmoisey)
- Update flag in-place-skip-disruption-budget is now beta (#9655, @omerap12)
- Improved VPA validation error messages now pinpoint exactly which fields are invalid, making it faster to diagnose and resolve configuration issues in your VerticalPodAutoscaler specs. (#9591, @adrianmoisey)