【ケダ】

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リソースを動的に制御するよ。
← 用語集にもどる