github kubernetes/autoscaler vertical-pod-autoscaler-1.3.0

latest release: addon-resizer-1.8.23
3 days ago

IMPORTANT - Leader Election

If you DON'T use leader election --leader-elect=false (which is the default), you can ignore the following.

If you use leader election in your VPA deployment (off by default) using the leader-elect=true flag, you should note that the default lease name was changed in #7462 from vpa-recommender to vpa-recommender-lease due to conflicts it creates with the built-in HPA/VPA deployment in GKE.

This means that while you roll out the latest VPA release, this can temporarily cause 2 different instances of the VPA recommender to be leaders. We don't believe this should cause any issues as the recommendations would simply be duplicated to API Server (see discussion in #7498).

To avoid this default flag change, explicitly set --leader-elect-resource-name=vpa-recommender in your own VPA deployment.

IMPORTANT - v1beta2 is no longer served

This API has been deprecated since July 2023 (see #5922).

v1beta2 VPA CRDs were removed in #7629.

This means v1beta2 objects are no longer served but can still be READ from etcd.

Migrating from v1beta2 to v1 is as simple as changing the apiVersion to v1 as all fields in v1beta2 are available in v1. See this guide

To undo this change, change served: false to served: true in the vpa-v1-crd-gen.yaml file. Alternatively, you could rollback to a previous VPA release.

What's Changed

  • vpa-recommender: Prevent nil pointer dereference by @ialidzhikov in #7161
  • VPA: Add option to set the webhook failurePolicy to Fail by @adrianmoisey in #7185
  • VPA: Use kubectl apply to upsert VPA resource instead of create. by @based64god in #7199
  • build(deps): bump golang from 1.22.5 to 1.23.0 in /vertical-pod-autoscaler/pkg/admission-controller by @dependabot in #7164
  • build(deps): bump golang from 1.22.5 to 1.23.0 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7163
  • build(deps): bump golang from 1.22.5 to 1.23.0 in /vertical-pod-autoscaler/pkg/recommender by @dependabot in #7165
  • vpa-admission-controller: Wire contexts by @ialidzhikov in #6899
  • Ensure CPU and Memory values are properly backfilled in GetContainersResources when VPA only touches one of CPU or Memory by @raywainman in #7184
  • fix VPA controller_fetcher node validation by @ZihanJiang96 in #7101
  • vpa-recommender: Use the MaintainCheckpoints context only for that step by @ialidzhikov in #7272
  • build(deps): bump golang from 1.23.0 to 1.23.1 in /vertical-pod-autoscaler/pkg/recommender by @dependabot in #7259
  • build(deps): bump golang from 1.23.0 to 1.23.1 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7260
  • build(deps): bump golang from 1.23.0 to 1.23.1 in /vertical-pod-autoscaler/pkg/admission-controller by @dependabot in #7261
  • vpa-admission-controller: Contextify status updates. Add timeout of 10s by @ialidzhikov in #7036
  • fix: Generate certs for VPA on kubectl apply or create by @adrianmoisey in #7306
  • Refactor logging statements in admission controller by @omerap12 in #7226
  • Add pprof to all VPA components by @adrianmoisey in #7153
  • build(deps): bump golang from 1.23.1 to 1.23.2 in /vertical-pod-autoscaler/pkg/admission-controller by @dependabot in #7323
  • build(deps): bump golang from 1.23.1 to 1.23.2 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7324
  • build(deps): bump golang from 1.23.1 to 1.23.2 in /vertical-pod-autoscaler/pkg/recommender by @dependabot in #7325
  • fix: VPA use apply rather than update by @adrianmoisey in #7365
  • FAQ: Update args for recommendations single pod by @omerap12 in #7308
  • Refactor logging statements in recommender:checkpoint,input by @omerap12 in #7290
  • feat: add webhook labels flag to add labels in VPA admission controller webhook by @umagnus in #7402
  • Refactor logging in recommender, updater, and target components by @omerap12 in #7294
  • Refactor logging statements in common,e2e test files by @omerap12 in #7205
  • vpa-admission-controller: Improve finding the matching VPA for Pod by @ialidzhikov in #7010
  • Refactor logging statements by @omerap12 in #7442
  • Remove Docker build warnings by @adrianmoisey in #7457
  • Clear up the docs about evict-after-oom-threshold by @adrianmoisey in #7460
  • Clarify how to run VPA with multiple Pods by @adrianmoisey in #7463
  • Common flags across VPA components by @omerap12 in #7312
  • Small documentation changes to warn users about deploying VPA with leader election on GKE. by @raywainman in #7462
  • VPA: Create event for VPA object when Pod is evicted by @adrianmoisey in #7413
  • feat: humanize memory quantities using binary SI units by @omerap12 in #7428
  • Bump golang from 1.23.2 to 1.23.3 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7476
  • Bump golang from 1.23.2 to 1.23.3 in /vertical-pod-autoscaler/pkg/admission-controller by @dependabot in #7477
  • Bump golang from 1.23.2 to 1.23.3 in /vertical-pod-autoscaler/pkg/recommender by @dependabot in #7478
  • Modify the e2e local scripts so they can be run on a modern Mac by @adrianmoisey in #7456
  • Fix typo in error message by @adrianmoisey in #7503
  • VPA - Update docs a little by @adrianmoisey in #7494
  • VPA: e2e Update metrics-server version to 0.7.2 by @omerap12 in #7488
  • VPA: Try make recommender e2e a little faster by @adrianmoisey in #7483
  • VPA: Poll/PollImmediate PollUntilContextTimeout in v1 e2e tests by @omerap12 in #7505
  • chore(VPA): add comprehensive test coverage for types.go by @omerap12 in #7482
  • Fix invalid log keys by @voelzmo in #7534
  • Change default lease name for vpa-recommender to "vpa-recommender-lease" by @raywainman in #7498
  • Removed already implemented TODO by @omerap12 in #7535
  • Chore: fixed lints errors by @omerap12 in #7542
  • vpa-recommender: Group prometheus and external-metrics flags to dedicated var blocks by @ialidzhikov in #7536
  • VPA: add error checking to pods eviction test by @omerap12 in #7555
  • Move all VPA docs into ./docs by @adrianmoisey in #7548
  • Bump golang from 1.23.3 to 1.23.4 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7564
  • Bump golang from 1.23.3 to 1.23.4 in /vertical-pod-autoscaler/pkg/recommender by @dependabot in #7565
  • Bump golang from 1.23.3 to 1.23.4 in /vertical-pod-autoscaler/pkg/admission-controller by @dependabot in #7566
  • Add Memory Value Humanization docs by @omerap12 in #7569
  • VPA: Replace stress image with agnhost by @adrianmoisey in #7568
  • vpa-updater: Fix logging of events by @ialidzhikov in #7563
  • fix: remove newlines from VPA recommendations by @omerap12 in #7575
  • cleanup(vpa): remove go vendoring for e2e by @davidspek in #7573
  • cleanup(vpa): remove go vendoring by @davidspek in #7572
  • Configure e2e local scripts for the actuation suite by @adrianmoisey in #7576
  • VPA(feat): separate estimator object for CPU and memory by @omerap12 in #7546
  • Fix typo in custom memory bump-up documentation by @WalkerMills in #7588
  • Clarify that the VPA can be run without Prometheus by @adrianmoisey in #7586
  • Pass the whole VPA into cappingRecommendationProcessor.Apply() by @adrianmoisey in #7527
  • VPA: Fix typo in documentation by @adrianmoisey in #7587
  • feat(vpa): run containers as nonroot user by default by @davidspek in #7591
  • chore(vpa): update dependencies by @davidspek in #7551
  • VPA: document controlledResources by @omerap12 in #7603
  • chore(vpa): run codegen by @davidspek in #7610
  • VPA: Add automated flag generator for all components by @omerap12 in #7599
  • VPA: Add the api-approved.kubernetes.io annotation via kubebuilder tag by @ialidzhikov in #7605
  • VPA: add flags to docs by @omerap12 in #7618
  • VPA: Clean up unused cd invocation in the generate-crd-yaml.sh script by @ialidzhikov in #7617
  • VPA: Upgrade a few packages to reduce CVEs by @adrianmoisey in #7636
  • Ignore Containers without recommendations for EvictionRequirements by @voelzmo in #7640
  • Handle Error for Pods with ownerRef: Node by @voelzmo in #7632
  • Align Fatalf Behavior with Immediate Exit by @omerap12 in #7644
  • Converting klog.Fatalf to structured logging equivalent by @omerap12 in #7646
  • Remove an unused function and fix a comment by @jbartosik in #7669
  • VPA: Create a build and deploy locally script by @adrianmoisey in #7654
  • Improve kind cluster creation with proper error handling and version check by @omerap12 in #7666
  • fix: Propagate stop channel to prevent resource leaks in VPA components by @omerap12 in #7661
  • VPA: Add docs about AKS and EKS with Cilium by @adrianmoisey in #7655
  • logging: Start from a capital letter by @ialidzhikov in #7670
  • Make informer use correct namespace flag by @voelzmo in #7698
  • Document VPA behavior for sidecar containers and how to change it by @omerap12 in #7645
  • Bump golang from 1.23.4 to 1.23.5 in /vertical-pod-autoscaler/pkg/updater by @dependabot in #7717
  • VPA: Bump go to 1.23.5 by @adrianmoisey in #7714
  • VPA: Remove v1beta2 by @adrianmoisey in #7629
  • vpa - fix checkpoint gc of unknown recommenders by @BojanZelic in #6767
  • Update version.go for VPA 1.3.0 release by @jm-franc in #7732
  • Finalize VPA release 1.3.0. by @jm-franc in #7774

Full Changelog: vertical-pod-autoscaler-1.2.2...vertical-pod-autoscaler-1.3.0

Don't miss a new autoscaler release

NewReleases is sending notifications on new releases.