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.1k
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
SREコミュニティイベントとわたし / Me and SRE community events
kohbis
0
17
サクッと試すNew Relic Kubernetes APM auto-attach / New Relic Kubernetes APM auto-attach
kohbis
0
190
悩ましきインシデント管理 みてねのケース / Incident management is a tough
kohbis
2
590
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
3k
そこまで大規模じゃない EKS環境を(あまり)頑張らずに 最新化し続けたい / FamilyAlbum EKS Continuous Improvement
kohbis
2
1.6k
1,800万人が利用する『家族アルバム みてね』におけるK8s基盤のアップグレード戦略と継続的改善 / FamilyAlbum's upgrade strategy and continuous improvement for K8s infrastructure
kohbis
5
3.8k
『家族アルバム みてね』の安定リリースを支えるEKS運用 / FamilyAlbum release-flow on EKS
kohbis
2
1.4k
『家族アルバム みてね』 AWSマルチリージョン構成における データベース運用 / FamilyAlbum Database in AWS multi-region
kohbis
5
2.8k
『家族アルバム みてね』のグローバル展開を支えるAWS活用 / AWS Summit Tokyo 2023 FamilyAlbum Multi-Region
kohbis
1
820
Other Decks in Technology
See All in Technology
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
400
Share my, our lessons from the road to re:Invent
naospon
0
110
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
180
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.7k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
520
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
270
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
240
RSNA2024振り返り
nanachi
0
630
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
420
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
790
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
280
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Speed Design
sergeychernyshev
27
800
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
RailsConf 2023
tenderlove
29
1k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Become a Pro
speakerdeck
PRO
26
5.1k
The World Runs on Bad Software
bkeepers
PRO
67
11k
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.