SlideShare a Scribd company logo
1 of 30
AIにおけるコンテナ&
コンテナ・オーケストレーションで使うストレージ
〜コンテナでStorageってどうなってる?〜
株式会社スタイルズ
矢野 哲朗
2019年11月14日
商用利用改変可、CCライセンス変更不可
今回のお話
1
AIでコンテナ
&
コンテナでストレージ
今回のお話
2
AIでコンテナ
&
コンテナでストレージ
図にするとこういう風になります
3
コンテナ AI
GPU ストレージ
ここまではOK
図にするとこういう風になります
4
コンテナ AI
GPU ストレージ
AIにおけるコンテナはこの領域
図にするとこういう風になります
5
コンテナ AI
GPU ストレージ
実は、ここが問題
コンテナ・オーケストレーションで使うストレージはこの領域
そんな時コンテナ業界に出てきていたのが
6
クーバネーティスと読みます
サイバネティクスと語源が一緒だそうです
なんてのもありましたが、
デファクトは取れませんでした
それに目を付けた人たちが
7
KubernetesをAIでも
使いたいニーズが広がる
※注:DeepLearning
※注
しかし、
8
ここにも問題が
その問題とは
9
データを保存する場所
問題
そもそも、コンテナとは
10
コンテナは単なるプロセスなので、
揮発性がある(=データ領域は基本ない)
&
Kubernetesは多数ホストで動かすので
データ保存が苦手だった
コンテナ≠仮想マシン
11
コンテナにはストレージは入ってない(注:ストレージぽいものがあるだけ)
IT業界で働く者の基礎知識となるクラウドネイティブ とは? - Qiita
https://qiita.com/MahoTakara/items/7c6c89cbddfd4a8f7b44
つまり、
12
Kubernetesでは
コンテナが終了すると
データも消える
仕様です
コンテナ内にデータをダウンロードできないの
13
 コンテナ内の領域にデータをダウンロードして演算すればいいのでは?
コンテナ
読み込み
演算 結果
保存
しかし、ここにも問題が
14
コンテナのローカル領域はOverlayFS
つまり遅い
Dockerイメージの理解とコンテナのライフサイクル
https://www.slideshare.net/zembutsu/docker-images-containers-and-lifecycle
とすると
15
Kubernetesで
永続領域(ストレージ)を
取り扱う必要が出てきました
KubernetesにCSI(※)が追加された
16
 Kubernetesから外部ストレージを管理するインターフェース(規格)としてCSI
(※Container Storage Interface)が規定されました(2018/12)
入門、Kubernetes Persistent Volume - Speaker Deck
https://speakerdeck.com/ysakashita/ru-men-kubernetes-persistent-volume
A社ストレージ
CSIとは?
17
 コンテナ(正確にはPod)から外部ストレージを切り出してマウントできるようにするプラグインの規格
 この規格に沿ったプロビジョナーと言われるストレージを管理するプラグインを書けば、外部のストレー
ジをPodにマウントすることができるようになる
コンテナ
(=Pod)
コンテナからは
ローカル領域として使用
実際は
ストレージを利用
プロトコルは、
iSCSIやNFS等
A
社
プ
ロ
ビ
ジ
ョ
ナ
ー
CSIとは?
18
 コンテナ(正確にはPod)から外部ストレージを切り出してマウントできるようにするプラグインの規格
 この規格に沿ったプロビジョナーと言われるストレージを管理するプラグインを書けば、外部のストレー
ジをPodにマウントすることができるようになる
コンテナ
(=Pod)
コンテナから
領域として使用
B社ストレージ
B社
プ
ロ
ビ
ジ
ョ
ナ
ー
様々なストレージに
接続することが可能に
これが使えるようになると
19
 コンテナ内の領域にデータをダウンロードして演算が可能になりました
 コンテナ領域を外部のストレージに用意することをプロビジョニングといいます。
コンテナ
読み込み
演算 結果
保存 ストレージ
書き込み
プロビジョニング
JupyterNotebookでデータを読み込む方法
20
JupyterNotebookでデータを読み込む方法
Notebook内でS3からダウンロード
KubernetesのコンテナでNFS領域をマウント
Kubernetesでストレージを利用する方法
Volumeを直接指定してContainerにマウントする
Volumeの要件を指定して、満たすものを自動的にマウ
ントする(Persistent Volumeを利用)
Volumeの要件を指定して、満たすストレージを動的に
プロビジョニングしてマウントする(Storage Classを利用)
21
以下の3種類
Volume
 コンテナにマウント可能なボリュームを定義する情報
 ストレージの実態をポイントする
22
Volume(たとえばNFSのストレージ)
ストレージの実態
マウント
Pod
Kubernetes標準のストレージ機能をおさらいしよう-SpeakerDeck
https://speakerdeck.com/hhiroshell/kubernetesbiao-zhun-falsesutoreziji-neng-woosaraisiyou
PersistentVolume(PV)/PersistentVolumeClaim(PVC)
 PVでストレージの実態をポイントする
 PVCで必要なディスクの要件(容量/書き込み権限の有無など)を指定しておき、それをVolumeから参照
する
 PVCの要件を満たすPVが自動的に選択され、使用される
Volume PVC PV
23
Pod
Kubernetes標準のストレージ機能をおさらいしよう-SpeakerDeck
https://speakerdeck.com/hhiroshell/kubernetesbiao-zhun-falsesutoreziji-neng-woosaraisiyou
StorageClassを使ったPVCの動的プロビジョニング
 PVCでPVの代わりにStorageClassを指定
 上記PVCをKubernetes内に作ると、StorageClassで設定されたProvisionerがストレージをプロビジョニン
グし、それが利用される
 StorageClassでは、ディスク速度やサービスレベル等のパラメータを指定
Volume PVC PV (例)
24
Pod
SC SP
ProvisionerStorageClass
Kubernetes標準のストレージ機能をおさらいしよう-SpeakerDeck
https://speakerdeck.com/hhiroshell/kubernetesbiao-zhun-falsesutoreziji-neng-woosaraisiyou
NetAppさんのストレージのプロビジョナー
25
NetAppさんのKubernetes接続ストレージは以下の2つ
 SolidFire
 FAS
上記に接続できるプロビジョナー
 Trident
資料公開中
https://www.stylez.co.jp/news/report_production-ready-k8s/
DELL/EMCさんのプロビジョナー
26
DELL/EMCさんのKubernetes接続ストレージは以下の2つ
 VxFlex OS
上記に接続できるプロビジョナー
 CSI Driver for Dell EMC VxFlexOS
https://github.com/dell/csi-vxflexos
IBMさんのストレージのプロビジョナー
27
IBMさんのKubernetes接続ストレージ
 IBM block storage
 IBM Spectrum Scale
上記に接続できるプロビジョナー
 ubiquity-k8s-provisioner
まとめ
28
Kubernetesでストレージを管理するプロ
ビジョニングというのがある
各社ストレージが接続できるようになった
29
ご清聴
ありがとうございました
スタイルズはRancherの
国内正式パートナーです
株式会社スタイルズ
〒101-0052 東京都千代田区神田小川町1−2 風雲堂ビル 6F
http://stylez.co.jp
http://Nextcloud.stylez.co.jp
Rancher/kubernetesにご興味がありましたら、お声がけください

More Related Content

More from Tetsurou Yano

More from Tetsurou Yano (20)

Kubernetes で変わるインフラ
Kubernetes で変わるインフラKubernetes で変わるインフラ
Kubernetes で変わるインフラ
 
Pachyderm Introduction
Pachyderm IntroductionPachyderm Introduction
Pachyderm Introduction
 
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
SIerにおけるKubernetes活用(OSSユーザーによる勉強会-公開版)
 
Rancher Charts Introduction
Rancher Charts IntroductionRancher Charts Introduction
Rancher Charts Introduction
 
Rancher kubernetes storages
Rancher kubernetes storagesRancher kubernetes storages
Rancher kubernetes storages
 
Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回Stylez GitLab勉強会 第1回
Stylez GitLab勉強会 第1回
 
Rancher enterpriseについて
Rancher enterpriseについてRancher enterpriseについて
Rancher enterpriseについて
 
Rancher jp1周年振り返り anniversary meetup slide summary
Rancher jp1周年振り返り anniversary meetup slide summaryRancher jp1周年振り返り anniversary meetup slide summary
Rancher jp1周年振り返り anniversary meetup slide summary
 
Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由Rancher と GitLab を使う3つの理由
Rancher と GitLab を使う3つの理由
 
rancherによるdev opsの実際_スタイルズ
rancherによるdev opsの実際_スタイルズrancherによるdev opsの実際_スタイルズ
rancherによるdev opsの実際_スタイルズ
 
Rancher Meetup Tokyo #7 Rancher Home
Rancher Meetup Tokyo #7 Rancher HomeRancher Meetup Tokyo #7 Rancher Home
Rancher Meetup Tokyo #7 Rancher Home
 
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancherRancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
Rancherで簡単に作るk8s環境 Kubernetes meetup tokyo #4 LT kubernetes on rancher
 
GitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registryGitLab Meetup Tokyo#2 Rancher gitlab container registry
GitLab Meetup Tokyo#2 Rancher gitlab container registry
 
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
Rancher meetuptokyo #4 Vagrant でつくる Rancher HA構成
 
Rancher LT Talk 20170126
Rancher LT Talk 20170126Rancher LT Talk 20170126
Rancher LT Talk 20170126
 
Rancher Meetup Tokyo#3 Storageについて
Rancher Meetup Tokyo#3 StorageについてRancher Meetup Tokyo#3 Storageについて
Rancher Meetup Tokyo#3 Storageについて
 
Rancher で Docker 利用!
Rancher で Docker 利用!Rancher で Docker 利用!
Rancher で Docker 利用!
 
Rancher meetup 20161007
Rancher meetup 20161007Rancher meetup 20161007
Rancher meetup 20161007
 
ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016ownCloud のあれこれ July Tech Festa 2016
ownCloud のあれこれ July Tech Festa 2016
 
ownCloud 負荷測定検証レポート FUJITSU Storage ETERNUS CD10000
ownCloud 負荷測定検証レポート FUJITSU Storage ETERNUS CD10000ownCloud 負荷測定検証レポート FUJITSU Storage ETERNUS CD10000
ownCloud 負荷測定検証レポート FUJITSU Storage ETERNUS CD10000
 

Recently uploaded

Recently uploaded (12)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Container storage for DeepLearning