Member-only story

K8s バーティカルポッド オートスケール

gavin.zhou
10 min readJan 19, 2022

--

Kubernetes VPAをコンフィギュアし、サンプルアプリでPrometheusを使って効果をモニターします。

構成

1. ポッドリソースを手動で監視する

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)。

--

--

No responses yet