Member-only story
K8s バーティカルポッド オートスケール
Kubernetes VPAをコンフィギュアし、サンプルアプリでPrometheusを使って効果をモニターします。
構成
2. Vertical Pod Autoscalingでポッドリソースを自動設定する(この記事)
関連記事
1. Kubernetes水平ポッドオートスケーリングの実践ガイド
2. Kubernetesノード・オートスケーリング実践ガイド
TL;DR
VPA(Vertical Pod Autoscaling)は、クラスター内のポッドのリソースリクエストや制限の値を提案したり、自動的に設定したりします。
Resource requests and limits
リソースのリクエストと制限とは?この素晴らしいブログ記事と動画を見れば、最新の情報が得られます。
Why?
Kubernetesクラスターは、すべてのポッドのすべてのコンテナにCPUとメモリのリソースリクエストと制限が割り当てられているときに、最もうまく機能します。これはポッドのスケジューリング、寿命、終了、優先度に影響します。
しかし、アプリケーションのリソースを知ることはしばしば困難です。リソースを低く設定しすぎると、アプリケーションが*スロットルしたり、終了してしまうこともあります。また、リソースを高く設定しすぎると、高価なリソースを浪費することになります。パート1で行ったように、ポッドのリソース使用状況を監視することは可能です。
しかし、クラスターがリクエストと制限を自動的に設定してくれたらどうでしょう。
Horizontal vs Vertical scaling
水平方向のスケーリングとは、インスタンスの量を増やすことです。例えば、クラスター/プールに新しいノードを追加することです。また、レプリカ数を増やして新しいポッドを追加することもできます(Horizontal Pod Autoscaler)。