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.2k
昨今のデータデバイス(アーカイブ編)
tzkoba
3
1.7k
理解して拡げる分散システムの基礎知識
tzkoba
21
11k
NewSQL その成り立ちとモチベーション
tzkoba
13
6.4k
Other Decks in Technology
See All in Technology
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
100
決済システムの信頼性を支える技術と運用の実践
ykagano
0
460
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
280
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
250
CodexでもAgent Skillsを使いたい
gotalab555
9
4.4k
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
2
130
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
16
5.1k
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
9
1.5k
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
460
仕様駆動 x Codex で 超効率開発
ismk
2
1.3k
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
450
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
180
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Automating Front-end Workflow
addyosmani
1371
200k
Code Reviewing Like a Champion
maltzj
527
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Thoughts on Productivity
jonyablonski
73
4.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
95
14k
Building an army of robots
kneath
306
46k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
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でもストレージをどんどん 使っていきましょう。