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
Cybozu
PRO
November 24, 2022
Technology
0
180
Kubernetesストレージ可用性の監視ツール「pie」のご紹介
Kubernetes Meetup Tokyo #54の発表資料です。
https://k8sjp.connpass.com/event/264501/
Cybozu
PRO
November 24, 2022
Tweet
Share
More Decks by Cybozu
See All by Cybozu
OSSの脆弱性との向き合い⽅
cybozuinsideout
PRO
2
41
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
180
スプリント内で試験を完了させるには?アジャイル・スクラム開発に参加したQAエンジニアの悩みと対策
cybozuinsideout
PRO
1
180
サイボウズのQAエンジニア育成
cybozuinsideout
PRO
4
880
サイボウズの QAエンジニアについて / about cybozu QA
cybozuinsideout
PRO
0
2k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
36k
サイボウズの日英翻訳担当について
cybozuinsideout
PRO
0
1.3k
CiliumにおけるGeneveプロトコルを用いたDSRの実装と導入
cybozuinsideout
PRO
1
240
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
1
2.8k
Other Decks in Technology
See All in Technology
統計的学習理論読み Chapter 1
kmatsui
4
970
中学生でもわかる深層学習
e869120
10
3k
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
Autify Company Deck
autifyhq
1
30k
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
1.5k
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
450
実務への応用例から考える 変更に強いオブジェクト指向設計 / 20240324-ooc2024
bengo4com
7
5.6k
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
21
4.1k
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
KTC_DBRE.pdf
_awache
1
290
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
110
Code Smells @Voxxed Bucharest 24
victorrentea
1
190
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Thoughts on Productivity
jonyablonski
57
3.8k
Fireside Chat
paigeccino
19
2.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
67
38k
Pencils Down: Stop Designing & Start Developing
hursman
115
11k
The Power of CSS Pseudo Elements
geoffreycrofte
58
4.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Designing for Performance
lara
601
67k
Gamification - CAS2011
davidbonilla
76
4.5k
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 おわり ご清聴ありがとうございました!