👛

イラストでわかるKubernetes:Pod Disruption Budget

に公開

Pod Disruption Budgetの概念はわかりやすいですが、設定方法をよく間違えるので改めてイラストで解説します。

Pod Disruption Budget通称PDBとは?


PDBはPodの安全性を確保するためにあります。例えばKubernetesのバージョンアップのためにNodeを再起動したい、といったケース。全台同時に再起動すれば早い一方、アプリケーションが全部同時にシャットダウンされてしまうことを意味しています。
Nodeのシャットダウンがあったとしても、例えば最低Podが1つ稼働している必要性があることをPDBを通して保証する仕組みになっています。
※あくまでdrainのように安全にNodeをシャットダウンする仕組みの中での話なので、Nodeが障害などで突然落ちるようなケースではPodの稼働は保証されません

では具体的な設定例をみましょう。

予算はどうやってつきるのか

minAvailableとmaxUnavailable、いつもどっちがどっちだっけ?と混乱してしまいます。設定を間違えるとクラスタの運用に支障が出るので注意しましょう。

設定時の注意

パーセント表記であればPodの母数が変わるとともにminAvailable / maxUnavailableのPod数が柔軟に変化するので使いたいですよね。ただ設定ミスによりNodeが生涯シャットダウンできなくなってしまうので設定ミスには注意しましょう。
minAvailavle, maxUnavailableどちらも切り上げで計算します。
参照:https://kubernetes.io/docs/tasks/run-application/configure-pdb/#rounding-logic-when-specifying-percentages

Discussion