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.1を使おう!新機能の紹介
Search
tzkoba
November 26, 2019
Technology
540
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rook v1.1を使おう!新機能の紹介
【前夜祭】CloudNative Days Kansai 2019 MeetupのLT用スライドです。
tzkoba
November 26, 2019
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
11k
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
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
150
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
130
手塩にかけりゃいいってもんじゃない
ming_ayami
0
610
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
430
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
630
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
240
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
110
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
260
水を運ぶ人としてのリーダーシップ
izumii19
2
160
[AWS Summit Japan 2026]迷っているあなたへ_小さな一歩が、やがて自分を助けてくれる
sh_fk2
1
210
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Code Review Best Practice
trishagee
74
20k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Odyssey Design
rkendrick25
PRO
2
700
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
Transcript
@tzkb Rook v1.1を使おう! 新機能の紹介 CloudNative Days Kansai 2019 Meetup ,
2019/11/27
2 最近やっていること • Cloud Native Days Tokyo 2019 “Cloud Native
Storageが拓く Database on Kubernetesの未来” • PGConf.Asia 2019 “Building PostgreSQL as a Service with Kubernetes” + =∞
3 知ってますか?
4 (念のため)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
5 :Ceph(RBD)をdeployした際の構成例 • Rookは以下の3つのレイヤで構成される。 operator agent/discover agent/discover agent/discover osd osd
osd mon mon mon CSI csi-provisioner csi-rbdplugin csi-rbdplugin csi-rbdplugin Rook [Orchestration] • Storage Providerの管理 [Storage Provisioning] • CSIドライバが、Podとスト レージの接続を媒介 [Storage Provider] • Block/File/Objectストレージ やデータベースを構成
6 9/13、Rook v1.1がリリース! 以下の新機能が追加された。 • PVC-based OSDs/MONs • external Ceph
cluster • Dynamic Bucket Provisioning • EdgeFS to v1 stable • YugaByte DB 現在、最新版はv1.1.7
7 (新機能①)PVC-basedとはどういうことか? Node Node (右) PVC-based • v1.1から。 • MON/OSDは
PVC経由で外部 ストレージを アタッチ。 • 特別なNodeは 不要になる。 • Pod移動時にPVが 追随できる。 OSD MON OSD MON operator agent/discover operator agent/discover (左) Host-based • 従来型。 • MON/OSDは Node上のdirを 参照。 • Workerに RAWデバイスが 必要。 • dirは移動できず、 Podも移動不可。
9 やってみた、PVC-based Rook/Ceph(1) $ kubectl get -n rook-ceph pvc NAME
STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE rook-ceph-mon-a Bound pvc-54e63d13-d0b5-XXX 10Gi RWO gp2 2d rook-ceph-mon-b Bound pvc-42a7bdb4-5caf-XXX 10Gi RWO gp2 2d rook-ceph-mon-c Bound pvc-b1c81bca-000f-XXX 10Gi RWO gp2 2d set1-0-data-mfp9t Bound pvc-7942ac5e-765a-XXX 10Gi RWO gp2 2d set1-1-data-2shjq Bound pvc-1042ebf7-c194-XXX 10Gi RWO gp2 2d set1-2-data-pcjqd Bound pvc-586ae884-d853-XXX 10Gi RWO gp2 2d • MONで3つ、OSDで3つのPV/PVCが作成される。
10 やってみた、PVC-based Rook/Ceph(2) $ kubectl describe -n rook-ceph pvc set1-0-data-mfp9t
Name: set1-0-data-mfp9t Namespace: rook-ceph StorageClass: gp2 Status: Bound Volume: pvc-7942ac5e-765a-409f-xxx Labels: ceph.rook.io/DeviceSet=set1 ceph.rook.io/DeviceSetPVCId=set1-0 ceph.rook.io/setIndex=0 Annotations: pv.kubernetes.io/bind-completed: yes pv.kubernetes.io/bound-by-controller: yes volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs Finalizers: [kubernetes.io/pvc-protection] Capacity: 10Gi Access Modes: RWO VolumeMode: Block Mounted By: rook-ceph-osd-1-5dd48685fd-48tj8 rook-ceph-osd-prepare-set1-0-data-mfp9t-nw48q • Raw Block Volumeが使われている。 普通はここがFileSystem
11 (参考)Raw Block Volumeとは https://qiita.com/tzkoba/items/fb9ccab311b8d7956a6f
12 PVC-basedなRook/Cephのユースケース • KubernetesによるStorage as a Serviceの実現に近づく。 • Storageを抽象化、CSIで外部 へVolumeを提供。
• STaaS内ではNodeとVolumeが 分離され、復元力が高い。 << 課題 >> • Storageが機能過多(=高コスト) • コントローラはCephが担当、 データを冗長化&分散。 STaaS
13 (新機能②)Yugabyte DBとは? • ACIDなトランザクションをサポートし、Geoスケールに分散が 可能な、スケールアウト型のデータベース。 tablet3 tablet2 tablet1 tablet4
tablet2 tablet1 tablet4 tablet3 tablet1 tablet4 tablet3 tablet1 Distrbuted Txn Mgr Distrbuted Txn Mgr Distrbuted Txn Mgr Distrbuted Txn Mgr syscatalog syscatalog syscatalog [yb-tserver] • Spanner Serverと同義と 考えて良さそう。 • データはtablet単位で冗長 化され、Raftでリーダ選出。 [yb-master] • メタデータの管理。 • 3重に冗長化、Raftでリー ダ選出。
14 (さらに詳しく)YugaByte DBのアーキテクチャ • YugaByte DBは階層化された分散データストアとなっている。 クエリレイヤと分散ドキュメントストア に分かれている。 • クエリレイヤは2つのAPIを提供。
– PostgreSQL互換のSQLを介するAPI – Cassandra起源の独自API • DocDBにデータを格納。 – RocksDBを拡張したLSM(Log Structured Merged Tree)のストレージエンジン。 – ShardingやReplicationなどの機能を提供、 トランザクション機能を実装。
15 (告知) Japan Rook Meetup、やります!!