【ケダ】

KEDA とは?

💡 イベントが来たら目覚め、終わったら眠るPod。KEDAが「需要連動スケーリング」を実現する。
📌 このページのポイント
KEDA — イベント駆動オートスケーリング イベントソース Kafka トピック Lag AWS SQS キュー深さ RabbitMQ メッセージ数 Prometheus メトリクス KEDA ScaledObject評価 HPA拡張レイヤー スケール指示 Podのスケール状態 イベントゼロ時 Pod: 0個(コストゼロ) イベント増加時 Pod: N個に自動増加 ピーク時 Pod: maxReplicasまで ScaledObject例: trigger: kafka topic=orders, lagThreshold=50 → 50メッセージ溜まるごとに1Pod追加 (min:0, max:20) ※ minReplicaCount: 0 を設定するとアイドル時にPodをゼロスケールできる
KEDAがイベントソースを監視してPodを0〜Nにスケールするイメージ
ひよこ ひよこ

KEDAって名前が面白いけど、何をするものなの?

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

Kubernetesでイベントの量に合わせてPodを自動でスケールさせる仕組みだよ。たとえばKafkaにメッセージが100件あったらPod10個起動、0件になったらPodも0個にする、というような制御ができるんだ。

ひよこ ひよこ

0個にできるって、普通のオートスケーラーと違うの?

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

HPAは最小1個のPodが必要だけど、KEDAは完全に0個まで縮小できるよ。処理するものが何もない間はPodをゼロにしてコストをなくせるから、バッチ処理や非同期ワーカーと相性がすごくいいんだ。

ひよこ ひよこ

どんなイベントに反応できるの?

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

60種類以上のスケーラーが用意されていて、KafkaトピックのLag数、AWS SQSキューの深さ、Prometheusメトリクス値、Azure Queue・RabbitMQなど様々なソースに対応しているよ。自分のシステムにあったソースを選べるね。

ひよこ ひよこ

設定はどうやってするの?

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

ScaledObjectというCRDを作って、対象のDeploymentとイベントソースの設定を書くよ。たとえば「Kafkaのtopicが100メッセージを超えたら1Pod追加」といったルールをYAMLで記述するだけで動いてくれるんだ。

ひよこ ひよこ

どんな場面で特に役に立つの?

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

同期の注文処理システムやメッセージキューを使ったワーカー処理に向いているよ。注文が少ない深夜はPodを0にして節約、ピーク時には自動で増やすといった運用ができるから、コスト効率がすごく上がるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「KEDA」って出てきたら「キューやイベントの量でPodをスケールするKubernetesの仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Kubernetes Event-Driven Autoscaling」 = Kubernetesイベント駆動オートスケーリング
💬 「イベントによって駆動されるスケーリング」という意味で、キューの件数やメッセージの発生に応じてKubernetesリソースを動的に制御するよ。
← 用語集にもどる