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
YAMLを書くだけで構築できる分散ストレージ
Search
Satoru Takeuchi
PRO
May 21, 2022
Technology
1
500
YAMLを書くだけで構築できる分散ストレージ
kanazawa.rb #127の発表資料です
Satoru Takeuchi
PRO
May 21, 2022
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
APIとABIの違い
sat
PRO
5
48
ファイルシステムへのアクセス方法
sat
PRO
0
21
ファイルシステム
sat
PRO
1
22
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
77
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
870
デバイスにアクセスするデバイスファイル
sat
PRO
1
59
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
47
Other Decks in Technology
See All in Technology
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
300
知られざるprops命名の慣習 アクション編
uhyo
11
2.7k
Microsoft Fabric のネットワーク保護のアップデートについて
ryomaru0825
1
110
浸透しなさいRFC 5322&7208
hinono
0
130
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
270
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
320
JavaScript 研修
recruitengineers
PRO
5
1.1k
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
150
Claude Code x Androidアプリ 開発
kgmyshin
1
640
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
10
2.6k
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
130
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Git: the NoSQL Database
bkeepers
PRO
431
65k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
Speed Design
sergeychernyshev
32
1.1k
Gamification - CAS2011
davidbonilla
81
5.4k
A better future with KSS
kneath
239
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
RailsConf 2023
tenderlove
30
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Transcript
YAMLを書くだけで 構築できる分散ストレージ May 21st, 2022 Satoru Takeuchi twitter: satoru_takeuchi
概要 • Rook/CephというYAMLを書くだけで構築できる分散ストレージの紹介 • 単純なクラスタを作るデモをします • プロダクション向けRook/Cephクラスタも紹介
Cephとは • OSSの分散ストレージ • Red Hat社主体で開発 • 20年近くの歴史あり • CERN,NASAなどが大規模データを扱っている実績あり
Cephのアーキテクチャ Cephのストレージプール ブロックデバイス node ファイルシステム S3互換オブジェクト ストレージ クライアント disk disk
node disk disk node disk disk OSD OSD OSD OSD OSD OSD
Cephの難点 • 使いにくいインタフェース • やたらと多くて複雑な設定 • ゆえに管理が大変
Rookとは • Kubernetes上で動くCephのオーケストレータ • Red Hat社とサイボウズ社が中心に開発 • 生まれてから6年くらい • Kubernetes
◦ 分散コンテナアプリ実行基盤 ◦ YAMLを書くだけでアプリが動く
Rookのアーキテクチャ • YAMLを書くだけでCephクラスタが構築できる apiVersion: ceph.rook.io/v1 kind: CephCluster … spec: …
cephVersion: image: quay.io/ceph/ceph:v17 … storage: useAllNodes: true useAllDevices: true … コンテナのバージョンを変えればアップデート可能 全ノード上の全空きディスク上に OSDを作ってCephに組み込む
デモ 1. 初期状態 1.1. Kubernetesクラスタが立ち上がっている 1.2. Rook operator(オーケストレータ本体。 Cephを管理) 2.
やること 2.1. Cephクラスタを構築 2.2. Cephクラスタができているかどうか確認
プロダクション用クラスタの紹介 • 例: サイボウズの新インフラ基盤のYAMLはOSSとして公開されている ◦ https://github.com/cybozu-go/neco-apps/blob/main/rook/base/ceph-ssd.yaml • Rook/Cephクラスタの構成 ◦ 全データは3つのレプリカをそれぞれ別ラック上の
OSD(ディスク)上に持つ ◦ YAMLを一か所書き換えるだけで OSD(ディスク)を一つCephクラスタに追加 kind: CephCluster … spec: … storage: … count: 43 … OSDの数。これを増やせばクラスタに 新たにOSD(ディスク)が組み込まれる
おわり • KubernetesとかRook/Cephはたのしいよ!