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
Kubernetesストレージ可用性の監視ツール「pie」のご紹介
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Cybozu
PRO
November 24, 2022
Technology
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kubernetesストレージ可用性の監視ツール「pie」のご紹介
Kubernetes Meetup Tokyo #54の発表資料です。
https://k8sjp.connpass.com/event/264501/
Cybozu
PRO
November 24, 2022
More Decks by Cybozu
See All by Cybozu
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
270
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
82k
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
80
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
350
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
890
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
1.3k
LLMアプリの品質保証
cybozuinsideout
PRO
1
630
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
240
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
210
Other Decks in Technology
See All in Technology
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
850
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
390
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
310
やさしいA2A入門
minorun365
PRO
12
1.8k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
150
Agentic Web
dynamis
1
210
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
110
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
SONiC Scale-Up Working Group から探る Scale-UpやUltraEthernet機能の実装方法
ebiken
PRO
2
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
190
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
500
Featured
See All Featured
Crafting Experiences
bethany
1
180
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Facilitating Awesome Meetings
lara
57
7k
Designing for Performance
lara
611
70k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
It's Worth the Effort
3n
188
29k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Balancing Empowerment & Direction
lara
6
1.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
Kubernetesストレージ可用性の 監視ツール「pie」のご紹介 2022年11月24日 サイボウズ ストレージチーム 大神 祐真 1
自己紹介 ▌大神 祐真 ▌サイボウズ ストレージチームにて 分散ストレージCephと 自社製CSIドライバTopoLVMを用いた データ移行と運用に従事しています 2
はじめに ▌サイボウズの新インフラ基盤(Neco)は Kubernetesクラスタです ▌ストレージチームではNeco上のアプリケーションへ 2種のストレージを提供しています Rook/Ceph – 分散ストレージ TopoLVM –
ノード内のローカルストレージ(LVM)を 動的に切り出して提供する自社製CSIドライバ 3
はじめに ▌サイボウズの新インフラ基盤(Neco)は Kubernetesクラスタ ▌ストレージチームではNeco上のアプリケーションへ 2種のストレージを提供している Rook/Ceph – 分散ストレージ TopoLVM –
ノード内のローカルストレージ(LVM)を 動的に切り出して提供する自社製CSIドライバ 4 PVの払い出しや、 払い出したボリュームへの読み書きが 正常に行えるか監視する仕組みが欲しい pie
正常性の確認方法 ▌以下の処理を定期的に実施します 1. 指定したNodeでCSIドライバ(TopoLVM)に PVを払い出させる 2. PodからPVにデータを書く 3. Podを消す ▌そして、PVの払い出しにかかった時間や、
アクセスのパフォーマンスを測って、メトリクスとして出力します 5 払い出しに時間がかかりすぎる、 パフォーマンスがしきい値を超える等で 異常と判定することができます
pieの中での2つの役割分担 (Probe/Controller) ▌以下の処理を定期的に実施します 1. 指定したNodeでCSIドライバ(TopoLVM)に PVを払い出させる 2. PodからPVにデータを書く 3. Podを消す
▌そして、Podの払い出しにかかった時間や、 アクセスのパフォーマンスを測って、メトリクスとして出力します 6 ←を行う役割が Probeです ↑に加えてProbeをPodとして生成する役割が Controllerです
PV監視の基本的な流れ 7 CronJob プローブ用Pod volume Probe 確認対象のNodeにプローブ用Podをデプロイ CSI Driver Pod再起時に
PV(volume)を作成 Controller Pod Controller Prometheus, VictoriaMetrics metrics を scrape して回収 ≈ 異常値を検出して発 報 pieのプログラム 新しくデプロイ するリソース 既存のリソース 凡例 生成 metrics を post Node Reconciler Event Reconciler
PV監視の基本的な流れ 8 CronJob プローブ用Pod volume Probe 確認対象のNodeにプローブ用Podをデプロイ CSI Driver Pod再起時に
PV(volume)を作成 Controller Pod Controller Prometheus, VictoriaMetrics metrics を scrape して回収 ≈ 異常値を検出して発 報 pieのプログラム 新しくデプロイ するリソース 既存のリソース 凡例 生成 metrics を post Node Reconciler Event Reconciler
Node Reconciler ▌Node別・Storage Class別に プローブ用Podを生成するCronJobを 生成します 現状のCronJobでは 1分周期でプローブ用Podを生成します 9
PV監視の基本的な流れ 10 CronJob プローブ用Pod volume Probe 確認対象のNodeにプローブ用Podをデプロイ CSI Driver Pod再起時に
PV(volume)を作成 Controller Pod Controller Prometheus, VictoriaMetrics metrics を scrape して回収 ≈ 異常値を検出して発 報 pieのプログラム 新しくデプロイ するリソース 既存のリソース 凡例 生成 metrics を post Node Reconciler Event Reconciler
プローブ用Pod ▌PVの払い出しと、 払い出されたPVをマウントし、 読み書きのチェック(現状ではfio) を行います Generic Ephemeral Volumeを用いています ▌得られたメトリクスをControllerへpostします 11
PV監視の基本的な流れ 12 CronJob プローブ用Pod volume Probe 確認対象のNodeにプローブ用Podをデプロイ CSI Driver Pod再起時に
PV(volume)を作成 Controller Pod Controller Prometheus, VictoriaMetrics metrics を scrape して回収 ≈ 異常値を検出して発 報 pieのプログラム 新しくデプロイ するリソース 既存のリソース 凡例 生成 metrics を post Node Reconciler Event Reconciler
Event Reconciler ▌プローブ用PodのEventをチェックし、 タイムスタンプ情報を元にメトリクスを 作成します ▌例) (Pod完了時刻) – (Pod生成時刻) があるしきい値以上である場合、
「CreateProbeSlowCount」という メトリクスをインクリメントします 13
動作例 14 pieを動作しているホスト(この場合はローカルホスト) の8080番ポートの”/metrics”からメトリクスの確認が行えます
OSSとして公開中 ▌以下のリポジトリで公開しています https://github.com/topolvm/pie 15
主な課題 ▌PVの削除時間に関するメトリクスの追加 ▌ドキュメント拡充 16
17 おわり ご清聴ありがとうございました!