Kubernetes Blog 日本語
フォロー
Kubernetes v1.37: HorizontalPodAutoscalerでワークロードをゼロにスケールする
Kubernetes v1.37 は、デフォルトでワークロードをレプリカゼロにスケールダウンするためのベータ版 API サポートを提供します。これにより、HorizontalPodAutoscaler はアイドル状態のリソースをゼロに削減し、必要に応じてスケールアップできるようになります。以前は、この機能には外部アドオンまたはアルファ機能ゲートが必要でした。ゼロへのスケーリングは、キューコンシューマーのようなワークロードにとって特に有益であり、特に高価な専用ハードウェアを使用する場合、リソースの節約が大きくなる可能性があります。主なトレードオフは、システムがメトリクスを観測し、ポッドをスケジュールし、アプリケーションを起動する必要があるため、コールドスタート時間が長くなることです。このアプローチは、作業を耐久性のあるキューに一時的に保持できる場合に最も効果的です。ポッドがなくなったときに存在しなくなる CPU またはメモリメトリクスとは異なり、オブジェクトメトリクスと外部メトリクスは独立して永続します。これにより、ワーカーポッドが実行されていない場合でも、HorizontalPodAutoscaler はキューの長さなどのメトリクスを引き続き監視できます。ゼロからスケールするには、Prometheus Adapter のような外部メトリクスアダプターが必要であり、キューコンシューマーのラグなどのメトリクスを Kubernetes に公開します。次に、HorizontalPodAutoscaler は最小レプリカ数をゼロに設定し、スケーリングを決定する外部メトリクスをターゲットにします。特別な ScaledToZero ステータス条件は、手動の一時停止から自動スケーリングダウンを区別し、HorizontalPodAutoscaler が制御を再開できるようにします。以前はアルファ版だったこの機能は、v1.37 でベータ版に昇格し、リソース効率の向上を目的としてデフォルトで有効になっています。