【自分用】PodDisruptionBudgetとは

2021/07/31 スペルミス修正

メモ書き。調査中で検証は未実施。時間見つけてやりたい。。

PodDisruptionBudgetとは

kubernetes で提供されているオブジェクトの一つ。deployされているpodの最小有効数や最大無効数を指定できる。

使い所

ノードを削除する前のdrainで一斉にpodが無効になったりしないようにしたりするときに使えるらしい。

例えばKubernetes クラスタのあるノードを削除したいときに、サービスpodが当該ノードに残っているとする。これをdrainすると、当該ノードにあったpodは削除され、他のノードにスケジューリングされる。 しかし、他のノードに同じpodがない場合にdrainしてしまうと、有効なpodがなくなり、一時的にサービス断が発生してしまう場合がある。

そこで、PodDisruptionBudgetを利用し、サービスpodの最小有効数を設定する。これにより、サービスpod数が0になるのを防ぎつつ、削除対象のノードからpodをdrainすることができる。

やりたいこと(メモ)

スケールインしたときに、system-pod1つのみ残ったノードがたまにできる。こいつが残っているせいで負荷がかかってないのにずっと減らない。 PoddisruptionBudgetを設定したら、いい感じにスケールインしないか試したい。

参考 

Kubernetes道場 21日目 - Cordon / Drain / PodDisruptionBudgetについて