Amazon EKS Now Supports Kubernetes 1.37, with HPA Scale-to-Zero Enabled by Default
Hi, it's Shii-chan!
AWS What's NewEKS now supports Kubernetes 1.37. You can create or upgrade clusters starting today!
What was announced?
AWS What's New announced that Amazon EKS and Amazon EKS Distro support Kubernetes version 1.37.
- You can create new EKS clusters on 1.37
- You can upgrade existing clusters to 1.37 using the EKS console, eksctl, or an infrastructure-as-code tool
- Supported in all AWS Regions where EKS is available, including AWS GovCloud (US)
What changes
The key improvements in Kubernetes 1.37 are:
- The Metrics API graduates to GA as metrics.k8s.io/v1. It provides Pod and node CPU and memory usage for the Horizontal Pod Autoscaler and kubectl top
- DRA (Dynamic Resource Allocation) device taints and tolerations graduate to GA. DRA drivers and administrators can taint devices such as GPUs so the scheduler avoids them unless tolerated
- HPA scale-to-zero graduates to beta and is enabled by default. Autoscalers with minReplicas: 0 that use object or external metrics can scale workloads to zero Pods when idle and back up when demand returns
Dive Deep
Here are the conditions for scale-to-zero:
- The HPA uses object or external metrics
- minReplicas is set to 0
- It's a beta feature, enabled by default
A configuration looks like this:
spec:
minReplicas: 0
For upgrade steps and the list of available Kubernetes versions, see the EKS documentation and the Kubernetes release notes.
Wrap-up
- EKS and EKS Distro support Kubernetes 1.37 in all Regions, including GovCloud
- The Metrics API and DRA device taints and tolerations are GA
- HPA scale-to-zero is beta and on by default
This one is for anyone running GPU workloads or trying to cut idle costs!