メインコンテンツまでスキップ

Horizontal Pod Autoscaler

このラボでは、デプロイメントやレプリカセット内のポッドをスケーリングするために、Horizontal Pod Autoscaler (HPA) について見ていきます。これは、K8s APIリソースとコントローラーとして実装されています。リソースがコントローラーの動作を決定します。Controller Managerは、各HorizontalPodAutoscalerの定義で指定されたメトリクスに対してリソース使用率を照会します。コントローラーは、レプリケーションコントローラーやデプロイメントのレプリカ数を、平均CPU使用率、平均メモリ使用率、その他のカスタムメトリクスなどのメトリクスを観測し、ユーザーが指定した目標に合わせて定期的に調整します。コントローラーは、リソースメトリクスAPI(ポッドごとのリソースメトリクス用)またはカスタムメトリクスAPI(他のすべてのメトリクス用)からメトリクスを取得します。

Kubernetes Metrics Serverは、クラスター内のリソース使用データをスケーラブルかつ効率的に集約するものです。Horizontal Pod Autoscalerが必要とするコンテナメトリクスを提供します。メトリクスサーバーはAmazon EKSクラスターにデフォルトでデプロイされていません。