AWSは10月2日、Amazon EKSとAmazon EKS DistroがKubernetes 1.37をサポートしたと発表した。新規クラスタの作成と、既存クラスタのアップグレードは、コンソール、eksctl、Infrastructure as Codeから行える。対象はEKSがある全リージョンで、AWS GovCloud(米国)も含む。EKS DistroのビルドはECR Public GalleryとGitHubにある。
1.37で一般提供になったMetrics APIはmetrics.k8s.io/v1だ。PodとノードのCPU、メモリ使用量をHorizontal Pod Autoscalerとkubectl topへ渡す。Dynamic Resource Allocationのデバイスtaintとtolerationも一般提供で、GPUなどのデバイスにtaintを付け、tolerationがないPodをスケジューラが避けるようにできる。
アップグレード前に見る設定
Horizontal Pod Autoscalerのscale-to-zeroはベータへ進み、既定で有効だ。minReplicas: 0で、オブジェクトメトリクスか外部メトリクスを使うオートスケーラは、アイドル時にPodをゼロまで減らし、需要が戻ると戻す。リソースメトリクスだけのHPAが同じ動きになるとは、この告知には書かれていない。
ゼロまで落とすと起動の待ち時間が戻る。バッチやGPUノードをminReplicas: 0で置いているなら、1.37へ上げる前に、落ちてよいワークロードかを分ける。アップグレードの阻害要因はEKS cluster insightsで確認できる。