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
0
870
GitHub-hosted runnerでそこまでやるの!?Rookの場合
Kubernetes Meetup Tokyo #53のLT資料です
https://k8sjp.connpass.com/event/259350/
Satoru Takeuchi
PRO
October 06, 2022
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
4
160
APIとABIの違い
sat
PRO
5
86
ファイルシステムへのアクセス方法
sat
PRO
0
34
ファイルシステム
sat
PRO
1
38
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
86
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
150
会社員しながら本を書いてきた知見の共有
sat
PRO
3
910
デバイスにアクセスするデバイスファイル
sat
PRO
1
72
Other Decks in Technology
See All in Technology
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
130
Geospatialの世界最前線を探る [2025年版]
dayjournal
0
130
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
120
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
560
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
5
1.1k
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
460
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
120
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
230
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
350
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
140
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Docker and Python
trallard
46
3.6k
Making Projects Easy
brettharned
119
6.4k
Building Adaptive Systems
keathley
43
2.8k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Become a Pro
speakerdeck
PRO
29
5.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
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 おわり