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
Kubernetesでストレージ?そもそも何に使えるの?
Search
tzkoba
October 27, 2020
Technology
0
1.3k
Kubernetesでストレージ?そもそも何に使えるの?
2020/10/27のKubernetes Novice Tokyo#6のLT資料です。
tzkoba
October 27, 2020
Tweet
Share
More Decks by tzkoba
See All by tzkoba
The State of Distibuted Database In Japan
tzkoba
1
1.4k
#CloudNativeDB NewSQLへの誘い
tzkoba
4
3.4k
Cloud Native時代のデータベース
tzkoba
13
15k
2020年DBプラットフォーム (超個人的)5大ニュース
tzkoba
0
1.2k
PostgreSQLプラットフォームの徹底比較(コンテナからクラウドまで)
tzkoba
6
11k
データ損失を回避しよう 各DBの機能比較
tzkoba
3
2.2k
昨今のデータデバイス(アーカイブ編)
tzkoba
3
1.7k
理解して拡げる分散システムの基礎知識
tzkoba
21
11k
NewSQL その成り立ちとモチベーション
tzkoba
13
6.4k
Other Decks in Technology
See All in Technology
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1.5k
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
330
QAを"自動化する"ことの本質
kshino
1
130
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.7k
Capitole du Libre 2025 - Keynote - Cloud du Coeur
ju_hnny5
0
110
"おまじない"はもう卒業! デバッガで探るSpring Bootの裏側と「学び方」の学び方
takeuchi_132917
0
180
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
LINEヤフー バックエンド組織・体制の紹介
lycorptech_jp
PRO
0
800
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
340
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
3
880
入社したばかりでもできる、 アクセシビリティ改善の第一歩
unachang113
2
270
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
160
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Designing for Performance
lara
610
69k
Building Adaptive Systems
keathley
44
2.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why Our Code Smells
bkeepers
PRO
340
57k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Navigating Team Friction
lara
190
15k
Transcript
@tzkb Kubernetesでストレージ? そもそも何に使えるの? Kubernetes Novice Tokyo #6, 2020/10/27
2 最近やっていること • July Tech Festa 2020 “理解して拡げる分散システムの基礎知識” • NewSQL関連のブログ投稿
“2020年現在のNewSQLについて” “NewSQLコンポーネント詳解” + =∞
3 1. PV/PVC、StorageClass、CSI、それ何に使うの? 2. データベースから見たストレージ 3. まとめ アジェンダ
4 PV/PVC、StorageClass、CSI、 それ何に使うの? 1
5 Terminology • PV (Persistent Volume) / PVC (Persistent Volume
Claim) • StorageClass • CSI (Container Storage Interface) • それは分かったけど、いつ・どういう時に使うの?
6 なんかデータが消えたら困る時でしょ? • StatefulSet+PVで動かす仕組み(Operator)はたくさんある。
7 (参考)Redis Operator • Redisのレプリカ数は6、それぞれPVを持った構成。 ※ https://amadeusitgroup.github.io/Redis-Operator/
8 消えたら困ると言えば、データベースですよね? • 様々なDBがコンテナで、K8sで動かせる時代になりつつある。 プロプライエタリ OSS(RDB) OSS(NoSQL)
9 (参考)Kubernetes Native Testbed • ステートフルなミドルウェアをKubernetes上にてんこ盛り。 ※ https://github.com/kubernetes-native-testbed/kubernetes-native-testbed
10 データベースから見たストレージ 2
11 Kubernetesが持つ永続化の仕組み(PostgreSQLを例に) • DBをKubernetes上で動かすには、下図のように永続化が必要。 • StatefulSet – 一意に特定可能なネットワークアド レス、順次処理できるdeployなどを 提供。
• Persistent Volume – PV/PVCを用いて、データを永続化 する。 • この図ではノードローカルな ボリュームを使っているため、 データの冗長性が確保されてい ない。
12 クラウドストレージとCSIを使う AWS EBS CSI Driver • EBSもCSIを利用することで動的 にプロビジョニングが可能と なっている。
• データはノード障害でも失われ ないため、EBSをアタッチすれば 新しいノードでDBを復旧可能と なる。 • データ保護にはクラウドストレージが最適。
13 オンプレミスとCSIでも出来る クラウド・ストレージの変わりに、 既設ハードウェアをそのまま使える ケースがある。 • 下記の製品は自社ストレージを コンテナ・Kubernetesから利用 可能とする仕組みを提供。 –
NetApp Trident – Pure Storage PSO 既設のストレージ • ストレージベンダでCSI対応を進めており、同じように利用可能。
14 DBでデータをレプリカする仕組み operator -0 -1 -2 postgres snapshot • ノード障害に備え、DBでレプリケーションを行う方法がある。
• Crunchy Data、Zalandoなどが 提供しているPostgreSQL OperatorではStreaming Replicationを用いて、 Pod間でデータをレプリカする。 • このケースではローカルボ リュームを利用していても、 データの冗長性が保たれる。 • この場合もクラウドストレージ を使えば、更に安心。 AWS EBS CSI Driver
15 もちろんクラウドやオンプレHWだけじゃない 名称 バックエンド ブロック? OSS/Proprietary ◎ OSS Longhorn -
◎ OSS ◎ OSS Redhat OpenShift Container Storage ◎ Proprietary • コンテナNativeなSDSもCSI経由で利用が可能。
16 まとめ 3
17 ここまでのまとめ 「Kubernetesのストレージ、完全に理解した」方、 次はデータベースに進みましょう。 データベースを動かすには、データの冗長性・安全性は 必須要件です。 「データはどこにあるのか?」
「冗長化されているのか?」 ※バックアップも を意識して、Kubernetesでもストレージをどんどん 使っていきましょう。