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.3k
Cloud Native時代のデータベース
tzkoba
13
15k
2020年DBプラットフォーム (超個人的)5大ニュース
tzkoba
0
1.2k
PostgreSQLプラットフォームの徹底比較(コンテナからクラウドまで)
tzkoba
6
11k
データ損失を回避しよう 各DBの機能比較
tzkoba
3
2.1k
昨今のデータデバイス(アーカイブ編)
tzkoba
3
1.7k
理解して拡げる分散システムの基礎知識
tzkoba
21
11k
NewSQL その成り立ちとモチベーション
tzkoba
13
6.3k
Other Decks in Technology
See All in Technology
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
0
120
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
340
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
250
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
170
GopherCon Tour 概略
logica0419
2
190
社内お問い合わせBotの仕組みと学び
nish01
0
180
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
160
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
420
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Code Review Best Practice
trishagee
72
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
The Cult of Friendly URLs
andyhume
79
6.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Music & Morning Musume
bryan
46
6.8k
How STYLIGHT went responsive
nonsquared
100
5.8k
The World Runs on Bad Software
bkeepers
PRO
71
11k
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でもストレージをどんどん 使っていきましょう。