Skip to content

Cluster Autoscaler 1.30.0

Compare
Choose a tag to compare
@gjtempleton gjtempleton released this 24 Apr 22:47
55a18a3

Changelog

Removals

  • Packet provider now renamed to equinixmetal (#6271)

Deprecations

  • The Linode provider is now deprecated and will be removed in a future release (#6613)

Notes

During the 1.30 release cycle code for the implementation of ProvisioningRequest has been added with the API currently marked as beta, however due to uncertainty on the stability of this API currently, for this release the feature flag has been hardcoded to disabled. If you want to test out this functionality, you will need to revert the changes made by #6755 and build your own binaries/images.

For further context please refer to this meeting.

General

  • Restored flags for setting QPS limits (#6405)
  • Changed status value in data of cluster-autoscaler-status config map to yaml format for easier parsing. Added error information for backoff status in scale-up. (#6375)
  • Go version bumped to 1.22.2 (#6737)
  • k/k dependencies bumped to 1.30 (#6737)
  • Added: --scale-down-delay-type-local flag. It specifies if --scale-down-delay-after-* flags should be applied locally per nodegroup or globally across all nodegroups) (#5729)
  • function_duration_seconds metric is now more fine grained, using exponential bucketing. (#6453)
  • Refactor binpacking estimator improving performance (#6667)
  • Allow draining when DaemonSet kind has custom API Group (#6412)
  • Add flag node-group-keep-backoff-out-of-resources which instructs CA to respect the entire duration of the backoff period for a node group that has hit an out-of-resources error during scale up (#5756)
  • APIs broken our into a separate go module (#6315)
  • Fixed a memory leak in NodeDeleteTracker (#6602)
  • Refactor StartDeletion usage patterns and enforce periodic scaledown (#6575)
  • Add a new frequent-loops-enabled flag to trigger iterations more frequently - disabled by default (#6589)
  • Track auto-provisioned queued provisioning node groups (#6604)
  • Adds informer argument to the CloudProviders builder - fixes building by tags (#6494)
  • Add BuildTestNodeWithAllocatable test utility method (#6552)
  • Fix a bug where atomic scale-down failure could affect subsequent atomic scale-downs (#6578)*
  • Consider preemption policy for expendable pods (#6577)
  • Extracted create group to a function (#6548)
  • Fix expectedToRegister to respect instances with nil status (#6528)
  • Reduced log spam in AtomicResizeFilteringProcessor (#6509)
  • Fixed undesired behaviour at the beginning of autoscaler main logic and during scale down, where it would clean taints from nodes that are not part of selected node groups (--nodes flag) (#6273)
  • Fixed panic in deleteNodesFromCloudProvider (#6485)
  • Consider atomic nodes for scale down even when in excess of unneededNodesLimit (#6477)
  • Added node group health and back off metrics (#6396)
  • Properly handle calls to NodeGroup.GetOptions() that return cloudprovider.ErrNotImplemented in the scale up path (#6756)

AliCloud

  • Fix empty ProviderID in NodeGroupForNode (#6507)

AWS

  • Add g6 instance types to the static instance list (#6697)

Azure

  • Skip non-azure nodes to support on premises nodes (#6291)
  • Azure manager will refresh automatically refreshed on failure due to throttled requests. (#6550)
  • Add support for edge zones (#6447)

Civo

  • Added Gpu count to node template (#6390)

Cluster API

  • kubeClientBurst and kubeClientQPS flags are now passed to the clusterapi provider k8s clients (#6416)
  • Added missing RBAC + Update Deployment tolerations to examples (#6399)
  • Do not skip nodegroups with minSize=maxSize (#6628)
  • Fixes Cluster API Machine name normalization issue that break auto-scaling of Azure VMSS MachinePool resources (#6632)

## GCE

  • Lower errors verbosity for kube-env label missing to reduce logs (#6706)
  • Support Regional Instance Templates (#6570)
  • Migrate client to server-side wait (#6547)
  • Add price info for n4 instances (#6614)
  • Add price info for z3 instances (#6535)
  • Add listManagedInstancesResults to cache (#6598)
  • Change the default disk type for the legacy GCE storage provider; the default type is now pd-balanced (#6611)
  • GCE: Implement kube-env caching improving CPU use (#6531)

Hetzner

  • Fixed an issue where the provider breaks when nodes from other providers are present (#6717)
  • Fix missing ephemeral storage definition (#6574)
  • Fixed stalled scale up when pods expect kubernetes.io/hostname node label for provider (#6751)

Ionos

  • Update ionos-cloud sdk-go and add metrics (#6617)

kwok

  • Prevent quitting when scaling down node group (#6336)

Linode

  • The Linode provider is now deprecated and will be removed in a future release (#6613)

OCI

  • Delay force refresh by DefaultInterval when OCI GetNodePool call returns 404 by (#6584)

Packet

  • Packet provider now fully renamed to Equinix Metal (#6271)

Rancher

  • Errors parsing resource annotations for the Rancher provider will now emit the correct error message as well as expose the underlying parser error. (#6363)
  • Allow to override rancher provider setting via environment variables (#6606)

Images

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

Full Changelog: cluster-autoscaler-1.29.0...cluster-autoscaler-1.30.0