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.1k
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
1k
#CloudNativeDB NewSQLへの誘い
tzkoba
4
3.1k
Cloud Native時代のデータベース
tzkoba
13
14k
2020年DBプラットフォーム (超個人的)5大ニュース
tzkoba
0
1.1k
PostgreSQLプラットフォームの徹底比較(コンテナからクラウドまで)
tzkoba
6
9.4k
データ損失を回避しよう 各DBの機能比較
tzkoba
3
1.7k
昨今のデータデバイス(アーカイブ編)
tzkoba
3
1.5k
理解して拡げる分散システムの基礎知識
tzkoba
20
10k
NewSQL その成り立ちとモチベーション
tzkoba
13
6k
Other Decks in Technology
See All in Technology
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
270
LLVM/ASMを使った有限体の高速実装
herumi
0
120
Road to Single Activity
yurihondo
1
190
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
110
自作Cコンパイラ 8時間の奮闘
soukouki
0
670
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
120
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
910
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.5k
ロボットアームを遠隔制御の話 & LLMをつかったIoTの話もしたい
soracom
PRO
1
270
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4.1k
2024年版 運用者たちのLLM
nwiizo
3
560
Featured
See All Featured
Become a Pro
speakerdeck
PRO
22
4.9k
How GitHub (no longer) Works
holman
310
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
RailsConf 2023
tenderlove
27
800
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Six Lessons from altMBA
skipperchong
26
3.3k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Fireside Chat
paigeccino
31
2.9k
Design by the Numbers
sachag
277
19k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.3k
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でもストレージをどんどん 使っていきましょう。