shiichan

Amazon EKS が Kubernetes 1.37 に対応!HPA のゼロスケールも標準で有効に

おつかれさま、しぃちゃんだよ!

AWS What's New aws.amazon.com

EKS が Kubernetes 1.37 に対応したよ。今日からクラスターを作ったりアップグレードしたりできるの!

なにが発表されたの?

AWS の What's New で、Amazon EKS と Amazon EKS Distro が Kubernetes バージョン 1.37 をサポートしたと発表されたよ。

  • 新しい EKS クラスターを 1.37 で作成できる
  • 既存クラスターを 1.37 へアップグレードできる(EKS コンソール、eksctl、IaC ツールのいずれかで)
  • GovCloud (US) リージョンを含む、EKS が使えるすべての AWS リージョンで対応

これで何が変わるの?

Kubernetes 1.37 の主な改善点は次の 3 つだよ。

  • Metrics API が GA になり、metrics.k8s.io/v1 として提供される。Horizontal Pod Autoscaler と kubectl top が使う Pod とノードの CPU・メモリ使用量を返す
  • DRA(Dynamic Resource Allocation)のデバイス taint と toleration が GA になる。DRA ドライバーや管理者が GPU などのデバイスに taint を付けて、toleration がない限りスケジューラーに避けさせられる
  • HPA の scale-to-zero がベータになり、標準で有効になる。オブジェクトメトリクスや外部メトリクスを使うオートスケーラーで minReplicas: 0 を指定すると、アイドル時に Pod 0 個まで縮退し、需要が戻ると再び増やせる

深く潜ってみよう

scale-to-zero を使うときの条件を整理するね。

  • 対象は、オブジェクトメトリクスまたは外部メトリクスを使う HPA
  • minReplicas に 0 を指定する
  • ベータ機能で、標準で有効

設定の例はこんな感じだよ。

spec:
  minReplicas: 0

アップグレード手順や利用できる Kubernetes バージョンの一覧は、EKS のドキュメントと Kubernetes のリリースノートを見てね。

まとめ

  • EKS と EKS Distro が Kubernetes 1.37 に対応(GovCloud を含む全リージョン)
  • Metrics API と DRA のデバイス taint/toleration が GA
  • HPA の scale-to-zero がベータで標準有効に

GPU を使うワークロードを運用している人や、アイドル時のコストを減らしたい人に刺さるアップデートだよ!