Horizontal Pod Autoscaler とは?
horizontal pod autoscaler(HPA)は、deploymentやstatefulsetのレプリカ数を需要に合わせて自動的にスケーリングするKubernetesのコントローラです。平均CPU使用率などのターゲットメトリクスを現在値と定期的に比較し、それに応じてpodの数を調整します。HPAは、手動の介入なしに使用率を望ましいしきい値の近くに保ちます。
なぜ重要か
レプリカ数を手動で調整するのは遅く、安全のために過剰にプロビジョニングしがちです。HPAは実際の負荷に反応するため、トラフィックの急増時にはサービスがスケールアウトし、需要が下がればスケールインして、レイテンシとコストのバランスを取ります。
何に基づいてスケーリングするか
- CPUとメモリの使用率ターゲット
- metrics API を介したカスタムメトリクスと外部メトリクス
- 望ましい値と比較したpodごとの平均値