Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
KEDAによるイベント駆動ジョブスケール / Event-driven job scale b...
Search
kohbis
May 27, 2023
Technology
2
1.3k
KEDAによるイベント駆動ジョブスケール / Event-driven job scale by KEDA
Kubernetes Novice Tokyo #25 LT でお話しした資料です
https://k8s-novice-jp.connpass.com/event/282344/
kohbis
May 27, 2023
Tweet
Share
More Decks by kohbis
See All by kohbis
潜在的課題探索活動の近況報告 / Exploration of latent challenges
kohbis
2
84
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
3
860
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
3.5k
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
750
Custom Prometheus Exporterによる オブザーバビリティ拡張 / Extending observability with Custom Prometheus Exporter
kohbis
1
170
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
5
1.4k
SREコミュニティイベントとわたし / Me and SRE community events
kohbis
2
250
サクッと試すNew Relic Kubernetes APM auto-attach / New Relic Kubernetes APM auto-attach
kohbis
0
430
悩ましきインシデント管理 みてねのケース / Incident management is a tough
kohbis
2
810
Other Decks in Technology
See All in Technology
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
0
160
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
120
戦えるAIエージェントの作り方
iwiwi
22
11k
[Journal club] Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces
keio_smilab
PRO
0
120
QAEが生成AIと越える、ソフトウェア開発の境界線
rinchsan
0
200
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
25
17k
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.7k
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
PRO
5
950
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
340
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
27
19k
[re:Inent2025事前勉強会(有志で開催)] re:Inventで見つけた人生をちょっと変えるコツ
sh_fk2
2
1.3k
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
8
1.4k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Documentation Writing (for coders)
carmenintech
76
5.1k
Designing Experiences People Love
moore
142
24k
Code Reviewing Like a Champion
maltzj
526
40k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
The Language of Interfaces
destraynor
162
25k
Fireside Chat
paigeccino
41
3.7k
Transcript
KEDAによる イベント駆動ジョブスケール @kohbis Kubernetes Novice Tokyo #25
MIXI, Inc. Agenda 1. Introduction 2. KEDA とは 3. KEDA
によるバックグラウンドジョブのスケール 4. KEDA を動かしてみる 5. まとめ
MIXI, Inc. Introduction
MIXI, Inc. About Me • Kubernetes 歴 1年 • Kubernetes
Novice Tokyo 勉強会には大変お世話になっています Kohei SUGIMOTO 株式会社MIXI 2022/04 ~『家族アルバム みてね』 SRE Twitter : @kohbis
MIXI, Inc. 子どもの写真・動画を、無料・無制限に 共有できるスマートフォンアプリです
MIXI, Inc. 『家族アルバム みてね』のアーキテクチャ(概要) • Amazon EKS クラスター上の Ruby on
Rails アプリケーションがほとんど • バックグラウンドジョブは基本的にい ずれか ◦ Shoryuken - Amazon SQS ◦ Sidekiq - Redis
MIXI, Inc. KEDA
MIXI, Inc. KEDA - Kubernetes Event-driven Autoscaling • 様々なイベントリソースのメトリクスに対応した Scalers
を選択してコンテナのス ケーリングを実現するコンポーネント ◦ Amazon SQS、Google Cloud Pub/Sub などビルトインで 50 以上 • HPA (Horizontal Pod Autoscaler) の CPU/メモリベースでは対応できないケースに活 用できる ◦ 例 ▪ CPU 使用率が上がるまでなかなかスケールされない ▪ I/O 待ちや API 通信が多く CPU 使用率が上がりきらない • ScaledObject という CR の定義に従って内部的に HPA を作成、更新、削除
MIXI, Inc. KEDA の役割 • Agent ◦ Deploymentsのアクティブ/非アクティブを管理 ◦ イベントがないときはレプリカ数を
0 にスケー ルインさせることができる • Metrics ◦ キューの長さなどイベントデータを HPA に公開 • Admission Webhooks ◦ リソースへの変更を検証して設定ミスを防止 引用元: https://keda.sh/docs/2.10/concepts/#architecture
MIXI, Inc. KEDA による バックグラウンドジョブのスケール
MIXI, Inc. バックグラウンドジョブのスケール • 『家族アルバム みてね』の場合 ◦ Shoryuken ▪ KEDA
による SQS メッセージサイズでのスケール ◦ Sidekiq ▪ KEDA + Prometheus による Busy ワーカー割合でのスケール
MIXI, Inc. Shoryuken - KEDA による SQS メッセージサイズでのスケール • Shoryuken
◦ Amazon SQS をバックエンドに非同期処理を実装できる • AWS SQS Queue Scaler を利用
MIXI, Inc. Sidekiq - KEDA + Prometheus による Busy ワーカー割合でのスケール
• Sidekiq ◦ Redis をバックエンドに非同期処理を実装できる ◦ API (Sidekiq::ProcessSet) からメトリクス取得が可能 • Sidekiq メトリクスを Prometheus Exporter で公開 • Prometheus Scaler を利用して “Busy ワーカー数 / 並列数 = 稼働率” でスケール
MIXI, Inc. Sidekiq - KEDA + Prometheus による Busy ワーカー割合でのスケール
MIXI, Inc. KEDA を動かしてみる
MIXI, Inc. KEDA を動かしてみる - 準備 • 環境 : Rancher
Desktop • Metrics API Scaler を利用 { "metrics": { "count": 1 } }
MIXI, Inc. KEDA を動かしてみる - KEDA のインストール • 公式ドキュメント Deploying
KEDA #install にしたがって Helm でインストール
MIXI, Inc. KEDA を動かしてみる - ScaledObject 作成
MIXI, Inc. KEDA を動かしてみる - レプリカ数 0 にスケールイン { "metrics":
{ "count": 0 } }
MIXI, Inc. KEDA を動かしてみる - レプリカ数 3 にスケールアウト { "metrics":
{ "count": 3 } }
MIXI, Inc. まとめ
MIXI, Inc. まとめ • KEDA でイベント駆動のオートスケールを実現できる • KEDA は様々なイベントリソースに対応した Scalers
がある • KEDA は最小 0 のスケールインが可能、コスト効率のよいリソース活用ができる KEDA は既存リソースへの変更少なく導入が可能 Knative Eventing や各マネージドサービス機能と比較・検討しつつ サクッと試してもよいかも。
MIXI, Inc.