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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kohbis
May 27, 2023
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KEDAによるイベント駆動ジョブスケール / Event-driven job scale by KEDA
Kubernetes Novice Tokyo #25 LT でお話しした資料です
https://k8s-novice-jp.connpass.com/event/282344/
kohbis
May 27, 2023
More Decks by kohbis
See All by kohbis
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
310
Kubernetes環境周りの責任範囲をいい機会なので考える / Taking the Opportunity to Clarify Kubernetes Responsibilities
kohbis
2
400
『家族アルバム みてね』におけるAmazon EKSコストとの向き合い方 / Optimizing Amazon EKS Costs: The FamilyAlbum Case
kohbis
4
1.7k
潜在的課題探索活動の近況報告 / Exploration of latent challenges
kohbis
2
170
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
3
1.1k
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
4
6.8k
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
980
Custom Prometheus Exporterによる オブザーバビリティ拡張 / Extending observability with Custom Prometheus Exporter
kohbis
1
290
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
5
1.6k
Other Decks in Technology
See All in Technology
LLMにもCAP定理があるという話
harukasakihara
0
280
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
130
FinOps × AIエージェントで実現する コストインシデントの自動調査
oasis1994liveforever
0
110
日本 Fintech 未来予測レポート 2027〜2028年(オリジナル版)
8maki
0
1.3k
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
130
新しいVibe Codingと”自走”について
watany
5
290
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
360
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
260
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
580
Agent Skills設計で柔軟性と硬さのバランスが難しい話
nassy20
0
110
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
830
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
210
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.7k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
How to Talk to Developers About Accessibility
jct
2
230
The Pragmatic Product Professional
lauravandoore
37
7.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Everyday Curiosity
cassininazir
0
230
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
HDC tutorial
michielstock
2
700
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.