Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Kubernetesでストレージ?そもそも何に使えるの?
tzkoba
October 27, 2020
Technology
0
210
Kubernetesでストレージ?そもそも何に使えるの?
2020/10/27のKubernetes Novice Tokyo#6のLT資料です。
tzkoba
October 27, 2020
Tweet
Share
More Decks by tzkoba
See All by tzkoba
tzkoba
0
430
tzkoba
2
2.2k
tzkoba
2
320
tzkoba
1
830
tzkoba
18
6.4k
tzkoba
13
4k
tzkoba
6
3.5k
tzkoba
6
1.3k
tzkoba
2
260
Other Decks in Technology
See All in Technology
hashhub
3
15k
sat
39
29k
yuzutas0
8
2.9k
khrd
1
270
grapecity_dev
0
170
puhitaku
3
1.1k
tnmt
2
170
gobeyond20xx
0
170
subroh0508
4
220
oracle4engineer
0
3.6k
buildersbox
0
170
optim
0
190
Featured
See All Featured
destraynor
146
19k
akmur
252
19k
jensimmons
207
10k
kneath
219
15k
bkeepers
408
58k
keathley
20
700
shpigford
165
19k
lara
590
61k
swwweet
206
6.9k
shpigford
369
42k
ddemaree
273
31k
jakevdp
774
200k
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でもストレージをどんどん 使っていきましょう。