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
Rook v1.2の紹介 - できること、できないこと -
Search
tzkoba
January 10, 2020
Technology
880
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rook v1.2の紹介 - できること、できないこと -
社内向け資料から一部削ったもの。
tzkoba
January 10, 2020
More Decks by tzkoba
See All by tzkoba
The State of Distibuted Database In Japan
tzkoba
1
1.5k
#CloudNativeDB NewSQLへの誘い
tzkoba
4
3.4k
Cloud Native時代のデータベース
tzkoba
13
15k
2020年DBプラットフォーム (超個人的)5大ニュース
tzkoba
0
1.3k
PostgreSQLプラットフォームの徹底比較(コンテナからクラウドまで)
tzkoba
6
12k
Kubernetesでストレージ?そもそも何に使えるの?
tzkoba
0
1.3k
データ損失を回避しよう 各DBの機能比較
tzkoba
3
2.3k
昨今のデータデバイス(アーカイブ編)
tzkoba
3
1.8k
理解して拡げる分散システムの基礎知識
tzkoba
21
11k
Other Decks in Technology
See All in Technology
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
500
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
400
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
290
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
240
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
穢れた技術選定について
watany
17
5.6k
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
290
Making sense of Google’s agentic dev tools
glaforge
1
280
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
0
150
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
410
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
5.1k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Leo the Paperboy
mayatellez
8
1.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Code Review Best Practice
trishagee
74
20k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
730
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Transcript
@tzkb Rook v1.2の紹介 ~できること、できないこと~ 2020/1/10
2 最近やっていること • Cloud Native Days Tokyo 2019 “Cloud Native
Storageが拓く Database on Kubernetesの未来” • Japan Rook Meetup #1 “Rook v1.1で新登場! YugaByteDBをさわってみる” + で色々と。
4 • そもそもRookって何? • で、Rookって何してくれるの? • なるほど、どんなときに使えるの? • 課題はないの? •
今、Rookを試す意味
5 今日のゴール
6 そもそもRookって何?
7 読み方問題 • ルーク or ルック? • お好きなほうでどうぞ。今回は“ルーク“で行きます。
8 Rookとは • マルチなストレージ・プロバイダに対応した、データストア・ オペレーター。 Storage Provider 種別 ステータス 概要
Ceph ストレージ Stable 分散ストレージ (Block/File/Object) Cockroach DB DB Alpha OSS版Spannerを目指す分散DB Minio ストレージ Alpha 簡素なオブジェクトストレージ EdgeFS ストレージ Stable Gitに似たGeoスケールのFS Cassandra KVS Alpha NoSQLの代表格、分散KVS NFS FS Alpha 共有ファイルシステム Yugabyte DB DB Alpha PostgreSQL互換の分散DB
9 AWSと比べると良く分かるかも? Storage Provider AWSでは 説明 Ceph EBS/EFS/S3 • Unified
SDS Cockroach DB DynamoDB? Aurora? • 分散KVS上のRDB(postgres) Minio S3 • オブジェクトストレージ EdgeFS EBS/EFS/S3 • こちらもUnifiedなSDS Cassandra MCS • re;Invent2019で発表 NFS EFS • ファイルストレージ Yugabyte DB DynamoDB? Aurora? • 分散KVS上のRDB(postgres) • こうして見ると、Rookの競合はクラウドベンダーにも見える。
10 それぞれ詳しく知りたい人は • 2019年末のアドベントカレンダーがあるよ。
11 つまり、Rookとは は、自分で作ると大変な データストア(分散ストレージ/データベース) を、Kubernetes上に簡単に構築・ 運用できるようにするオペレーター だよ。
12 Rookってオンプレに向いてる? • Outpostsに蹴散らされそうな未来も少し見えたり。 対象サービス EC2 EBS ECS EKS EMR
RDS ※preview (postgres,MySQL) EFSやDynamoDB等も来たら、 オンプレで基盤構築する物好き は居る? Cloud at Customer(by Oracle) は流行らなかったけど、今回は どうかな。
13 で、Rookって何をしてくれるの?
14 Cephの例:こんなクラスタを3コマンドで作ってくれる operator agent/discover agent/discover agent/discover osd osd osd mon
mon mon CSI csi-provisioner csi-rbdplugin csi-rbdplugin csi-rbdplugin Rook • monとかosdとか普通は面倒なんです。
15 RookなしでCephクラスタを作ろうとしたら、 1. パッケージをダウンロードして、 2. 各ノード(例えば3台)にCephをインストールして、 3. MONプロセスを起動して、 4. Managerを起動して、
5. OSDプロセスを起動してクラスタに組み込んで、
16 Rookなら、Cephもらっく楽に構築! $ kubectl apply -f cluster/exsample/kubenetes/ceph/common.yaml $ kubectl apply
-f cluster/exsample/kubenetes/ceph/operator.yaml $ kubectl apply -f cluster/exsample/kubenetes/ceph/cluster.yaml • たったの3コマンドを投入するだけ(当社調べ)。
17 分散SQLデータベース?Rookなら何とかしてくれる! yb-master yb-master yb-master rook yugabytedb operator yb-tserver yb-t-server
yb-tserver • Spanner的なOSS、 も簡単に構築。
18 Rookなら、分散DBもらっく楽に構築! $ kubectl apply -f cluster/exsample/kubenetes/yugabytedb/operator.yaml $ kubectl apply
-f cluster/exsample/kubenetes/yugabytedb/cluster.yaml • たった2コマンドを投入するだけ(2回目)。
19 つまり、Rookが何をしてくれるのかというと 【Cassandra】 【YugaByteDB】 【Ceph】 • K8sを分散データストアのプラットフォームにしてくれる。 osd mon osd
mon osd mon osd osd mgr osd master master master t-server t-server t-server
20 なるほど、どんなときに使えるの?
21 今、Rookを使うならどういう用途か? 1. 何らかの理由で、Managedなサービスが使えないとき ① 開発環境、PoC ② オンプレミス/プライベートクラウド 2. パブリッククラウドの可用性に満足できないとき
① Multi-AZにEBSを使いたい 3. OpenShiftで ① OpenShift Container Storage 4
22 1.① 開発環境とかPoCで • コストがかかったり、クラウドの管理権限がなかったりで、 S3やEFSが使えない環境もある。 • EC2とEBSは使えるし、K8sクラスタ(EKSかも)はある。 nfs-operator nfs-provisoner
minio-operator rook-nfs minio-store minio-store app-A app-A app-C S3互換IF GET/PUT NFS mount
23 1.② オンプレミス/プライベートクラウドで • ストレージがない(?)オンプレミス環境とか、オブジェクト・ ストレージが用意されてないプライベートクラウドとか。 • サーバ内蔵のDiskかき集めて、それっぽく使いたい。 osd osd
osd mon mon mon osd mds csi-rbdplugin csi-rbdplugin csi-rbdplugin csi-rbdplugin csi-cephfsplugin csi-cephfsplugin csi-cephfsplugin csi-cephfsplugin CSI mds rgw rgw
25 • KubernetesとMulti-AZなノードでPodの可用性は確保できても、 EBSを使っているとデータが移動できない。 • Rookを使って、Multi-AZなブロックストレージを構築できる。 2.① クラウドの可用性に満足できない osd osd
mon mon osd csi-rbdplugin csi-rbdplugin csi-rbdplugin CSI AZ-a AZ-b AZ-c
29 つまり、Rookの使いみちは Kubernetesクラスタはある、じゃあストレージはどうしよう? な場面で使ってみる。 1. 何らかの理由で、Managedなサービスが使えないとき 2. パブリッククラウドの可用性に満足できないとき 3. OpenShiftで
30 課題はないの?
31 課題1)Rookじゃなきゃ出来ないんだっけ? • オンプレミスもMulti-AZも他でも出来る。 • 例えば、NetApp Cloud Volume ONTAP+Trident。 app-A
AZ-a AZ-b
32 課題2)今のKubernetes/Rookで大丈夫か? osd osd mon mon osd AZ-a AZ-b AZ-c
• 正直、マルチIFは欲しい。Multusが拡まるか? • AZやNodeにポリシーに従って(良い感じに)配置して欲しい。 DB-1 DB-2 DB-3 サービスLAN ストレージLAN DB LAN