Skip to content

Releases: kubernetes/autoscaler

vertical-pod-autoscaler-1.3.0

27 Jan 21:11
200a292
Compare
Choose a tag to compare

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 ht...
Read more

cluster-autoscaler-chart-9.46.0

23 Jan 00:07
03b8aeb
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.

addon-resizer-1.8.23

28 Jan 01:38
4b38ada
Compare
Choose a tag to compare

What's Changed

Full Changelog: addon-resizer-1.8.22...addon-resizer-1.8.23

cluster-autoscaler-chart-9.45.1

20 Jan 13:55
793bf44
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.

vertical-pod-autoscaler-1.2.2

16 Jan 18:40
90ea695
Compare
Choose a tag to compare

What's Changed

  • #7657 Ignore Containers without recommendations for EvictionRequirements by @voelzmo.

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

cluster-autoscaler-chart-9.45.0

06 Jan 09:44
100be41
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.

cluster-autoscaler-chart-9.44.0

29 Dec 00:28
3fc72cf
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.

cluster-autoscaler-chart-9.43.3

27 Dec 13:28
ce01f02
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.

cluster-autoscaler-1.32.0

31 Dec 13:43
2cbd4fd
Compare
Choose a tag to compare

Changelog

General

  • Experimental support for DRA autoscaling is implemented, disabled by default. #7530
    • To enable it, set the --enable-dynamic-resource-allocation flag in Cluster Autoscaler, and the DynamicResourceAllocation feature guard in the cluster. Additionally, RBAC configuration must allow Cluster Autoscaler to list the following new objects: resource.k8s.io/ResourceClaim, resource.k8s.io/ResourceSlice, resource.k8s.io/DeviceClass.
    • The support is experimental and not yet intended for production use. In particular, details about how Cluster Autoscaler reacts to DRA resources might change in future releases. Most autoscaling scenarios should work, but with potentially reduced performance. Details about missing features can be found in #7530 PR description.
  • Remove legacy scale down code. #7219
    • --parallel-drain flag was removed. To ensure only one node is drained at the same time, use --max-drain-parallelism=1.
    • --max-empty-bulk-delete flag was deprecated. It still works, but is equivalent to and will be replaced by --max-scale-down-parallelism in a future release.
  • Add v1 CRD for ProvisioningRequest. #7223
  • Enable ability to set custom lease resource name using the --lease-resource-name flag. #7233
  • Make ds pods eviction best effort when draining empty nodes (nodes without user pods). Now Cluster Autoscaler will not wait for DS pods to get fully evicted in empty nodes. #7236
  • Support for frequent loops when ProvisioiningRequest is encountered in the last loop. #7418
  • Allows CheckCapacity ProvisioningRequests to be processed in batch mode with configurable max batch size and batch timebox. The feature is controlled via new flags: --check-capacity-batch-processing, --check-capacity-provisioning-request-max-batch-size, --check-capacity-provisioning-request-batch-timebox. #7283
  • Add a --force-delete-long-unregistered-nodes flag, which if used allows Cluster Autoscaler to remove long unregistered nodes even if it would break the min size constraints of their node group. #7493
  • New Parameter for CheckCapacity ProvisioningRequests that limits retry mechanism. #7496
  • Mark ProvisioningRequest CheckCapacity conditions in parallel to increase throughput. #7561

AWS

  • Add support for Nvidia L40s GPU instances. #7181
  • Add g6e EC2 instance type. #7177
  • Only cache instance requirements when needed. #7383

Azure

  • Certain scale from zero scenarios around labels will be more accurate. #7208
  • ACTION REQUIRED: VMSS GPU Nodes are now identified by the kubernetes.azure.com/accelerator label instead of accelerator. #7235
  • StrictCacheUpdates to disable proactive vmss cache updates. #7481
  • Set node state to InstanceCreating to delete on CSE error. #7526
  • Add flag to enable fast delete of failed VMSS. #7531
  • Fix scaling of spot node pools. #7579
  • Regenerate Azure static SKU list. #7614

Exoscale

  • add support for --nodes flag. #6771

grpc

  • If the gRPC expander server returns nil for its best options, the gRPC expander client will return nil. #7351

Hetzner

  • The HCLOUD_ENDPOINT environment variable is now supported to set a custom endpoint for Hetzner usage is cluster-autoscaler. #7285
  • Fix Hetzner Provider not starting after 2024-09-07. #7211
  • Consider label instance.hetzner.cloud/provided-by for scheduling. #7441
  • Add support for specifying node pool placement groups when using HCLOUD_CLUSTER_CONFIG. #6999

OCI

  • Added OCI support for node-group-auto-discovery parameter. #7403

Images

  • registry.k8s.io/autoscaling/cluster-autoscaler:v1.32.0
  • registry.k8s.io/autoscaling/cluster-autoscaler-arm64:v1.32.0
  • registry.k8s.io/autoscaling/cluster-autoscaler-amd64:v1.32.0
  • registry.k8s.io/autoscaling/cluster-autoscaler-s390x:v1.32.0

cluster-autoscaler-chart-9.43.2

04 Nov 14:24
c361adb
Compare
Choose a tag to compare

Scales Kubernetes worker nodes within autoscaling groups.