【クラスターオートスケーラー】

Cluster Autoscaler とは?

💡 Podが溢れたら駐車場を増やし、空いたら縮める駐車場管理人
📌 このページのポイント
Cluster Autoscaler の動き スケールアウト(ノード追加) Pod (Pending) 検知 新しいノード追加 Pod (Running) スケジュール成功 スケールイン(ノード削除) 余剰ノード 10分後に 自動削除 Podを退避 他ノードで再起動 HPA と Cluster Autoscaler の役割分担 HPA Podの数を増減 Cluster Autoscaler ノードの数を増減 連携
Cluster Autoscalerによるノードのスケールアウトとスケールインのイメージ
ひよこ ひよこ

KubernetesHPAってあるよね。Cluster Autoscalerとどう違うの?

ペンギン先生 ペンギン先生

HPAPodの数を増減させるもので、Cluster AutoscalerはそのPodを動かすノード(サーバ)の数を増減させるものだよ。役割が1段階違うんだね。

ひよこ ひよこ

じゃあPodが増えてもノードが足りなかったら意味ないんじゃないの?

ペンギン先生 ペンギン先生

そうなんだよ。Podが増えてもスケジュールできるノードがないと「Pending」状態になってしまう。そこでCluster AutoscalerがPendingのPodを検知してノードを自動追加してくれるんだ。

ひよこ ひよこ

逆にノードが余ったらどうなるの?

ペンギン先生 ペンギン先生

一定時間(デフォルト10分)リソース使用率が低いノードを検出して自動削除するよ。クラウドインスタンス料金は使った分だけかかるから、不要ノードの削除はコスト削減に直結するんだね。

ひよこ ひよこ

ノードを削除するときにそこで動いてるPodはどうなるの?

ペンギン先生 ペンギン先生

削除前に他のノードへ退避(EvictとReschedule)されるよ。ただし「PodDisruptionBudget」で保護されているPodがいるとノードを削除できないこともあるから、その設定も大事なんだ。

ひよこ ひよこ

AWSでもGCPでも使えるの?

ペンギン先生 ペンギン先生

うん、各クラウドのオートスケーリンググループと連携する仕組みがあって、EKS・GKE・AKSどれでも使えるよ。マネージドサービスでは最初から有効化できることが多いんだね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Cluster Autoscaler」って出てきたら「Kubernetesのノードを自動で増減させる仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cluster Autoscaler」 = クラスタ自動拡縮機能
💬 Cluster(複数サーバの集まり)を Auto(自動で)Scale(規模調整)するコンポーネントのことだよ
← 用語集にもどる