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
GitHub-hosted runnerでそこまでやるの!?Rookの場合
Search
Satoru Takeuchi
PRO
October 06, 2022
Technology
930
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub-hosted runnerでそこまでやるの!?Rookの場合
Kubernetes Meetup Tokyo #53のLT資料です
https://k8sjp.connpass.com/event/259350/
Satoru Takeuchi
PRO
October 06, 2022
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
119-多機能ファイルシステムBtrfs_のコピー.pdf
sat
PRO
1
64
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
92
あなたの知らないバージョン命名規則
sat
PRO
3
890
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
63
Machine Check Exception
sat
PRO
2
63
バイナリダンプの模様を読む
sat
PRO
0
88
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
86
114-ファイルのshallow_copy.pdf
sat
PRO
2
55
113-Btrfsのスナップショット.pdf
sat
PRO
0
40
Other Decks in Technology
See All in Technology
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
120
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
810
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
AIエージェントを雇う前に決める5つのこと
knishioka
1
160
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
440
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
570
Beyond the Hype: Practical AI for Your Oracle Database with MCP
thatjeffsmith
1
250
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
150
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.2k
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
When Does a Local Qwen Start to Break
morshoto
0
170
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
150
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
800
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Bash Introduction
62gerente
615
220k
Producing Creativity
orderedlist
PRO
348
41k
Ethics towards AI in product and experience design
skipperchong
2
360
A better future with KSS
kneath
240
18k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Building the Perfect Custom Keyboard
takai
2
860
HDC tutorial
michielstock
2
840
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Transcript
GitHub-hosted Runnerで そこまでやるの!? ~ Rookの場合 ~ Oct. 6th, 2022 sat@サイボウズ
データストアチーム 1
はじめに ▌Rookとは ⚫オープンソースの分散ストレージCephのオーケストレータ ⚫Kubernetes上のオペレータとして動作する ⚫Cloud Native Computing Foundation(CNCF)のgraduated プロジェクト ▌はなすこと
⚫RookをGitHub-hosted runner(後述)上でテストするための課 題と解決方法 2
前提知識
Cephのアーキテクチャ 4 アプリ ストレージプール Cephクラスタ node disk disk node disk
disk node disk disk … ブロックデバイス オブジェクト ブロックデバイス ブロックストレージ オブジェクト ファイルシステム アプリ アプリ ブロックデバイス ブロックデバイス オブジェクトストレージ OSD OSD OSD OSD OSD OSD
RookのCI ▌全PRに対してGitHub Actionsを使ってCIを流す ▌CIはGitHub-hosted runner上で動かす 5 GitHub-hosted runner (GitHubが提供するVMインスタンス) CI環境(Rook開発者が用意)
課題1: ブロックデバイスの用意
runnerにOSD用ブロックデバイスが無い 7 GitHub-hosted runner sda sdb1 sdb sda14 sda15 /
/boot/efi 4Mしかない。 OSDを作るには5GiB必要 sdb1 /mount
無いなら作ればいい! ▌sdb上のファイルシステムとパーティションを削除 8 GitHub-hosted runner sda sdb1 sdb sda14 sda15
/ /boot/efi sdb1 /mount グェー ギャー
後はsdb上にOSDを作れば勝ち! 9 GitHub-hosted runner sda sdb1 sdb sda14 sda15 /
/boot/efi ストレージプール OSD Cephクラスタ
課題2: OSDの多様な形式
OSDの形式がやたらと多い ▌形式の例 ⚫暗号したもの ⚫高速化のためにSSD上にWALを作るもの ⚫{ディスク全体,パーティション, Logical Volume}に作るものなど ▌全部動作確認するのは大変… 11
俺たちにはjobがある!勝ち! ▌全パターンについてjobを作って並列テスト 12 ストレージ プール Cephクラスタ sdb OSD ストレージ プール
Cephクラスタ sdb ストレージ プール Cephクラスタ sdb sdb1 OSD sdb1 sdb2 OSD WAL ストレージ プール Cephクラスタ sdb VG … LV OSD …
課題3: レプリケーション
Rookはレプリケーションもできる ▌Rookは複数クラスタ間でブロックデバイスやオブジェ クトストレージのレプリケーションができる ▌当然ながらレプリケーション機能もテストしたい ▌でもGitHub-hosted runnerは1個しかない 14
sdb上にパーティションを2つ作って… 15 sdb sdb1 sdb2
2つクラスタを作って… 16 ストレージ プール Cephクラスタ sdb sdb1 sdb2 OSD ストレージ
プール OSD Cephクラスタ ブロックデバイス or オブジェクト ストレージ ブロックデバイス or オブジェクト ストレージ
レプリケーション!勝った! 17 ストレージ プール Cephクラスタ sdb sdb1 sdb2 OSD ストレージ
プール OSD Cephクラスタ ブロックデバイス or オブジェクト ストレージ ブロックデバイス or オブジェクト ストレージ
まとめ ▌RookによるGitHub-hosted runnerのエクストリームな使いかたを紹介 ▌ほかにも邪法がてんこもり ▌気になる人はソースをチェック! ⚫ https://github.com/rook/rook/tree/master/.github/workflows ⚫ https://github.com/rook/rook/tree/master/tests/scripts 18
19 おわり