Rancher Meetup #3で Rancherのストレージについて登壇したので、それの抜粋転記です。
以下の資料は Rancher 1.6 系の資料となっておりKubernetesベースのRancher2.0とは全く違うものです。ご注意ください。
【会場変更 →渋谷】Rancher Meetup Tokyo #3 - connpass
https://rancherjp.connpass.com/event/45768/
元のスライドはこちら。
Rancher Meetup Tokyo#3 Storageについて
http://www.slideshare.net/ttyno/rancher-meetup-tokyo3-storage
1. Dockerで困ること
インフラ的にDockerで困ること2つ
- データストアであるストレージで困る
- ネットワークで困る
2. なぜこのお題に?
Dockerは気軽に作って壊してをするので、永続的なデータストレージが必要です
3. 皆さんいろいろ工夫されているようです
- NFSサーバーを各ホストからマウントし て、VolumeコンテナをNFSに配置する。
- DBだけは、オンプレにしています。
- KubernetesのPersistentVolumeを利用
しかし、これらを使うとRancherの管理外 に出てしまうので痛し痒しです。 Rancherでなんとかできないでしょうか
4. Rancherの考えるストレージとネットワーク
Rancherは個別機能をDockerコンテナにして提供
※他にもスケジューラーや、ヘルスチェックなどがありま す。
5. Rancherのボリュームプラグイン
- Rancher EBS
- Rancher EFS
- Rancher NFS
6. Rancherからだとどうなる?
Rancherから Docker Volumeプラグイン経由で利用します
※注:Docker v1.2 で実装(Experimental) されているプラグインではないです。 Legacy Pluginになります。
7. Rancherのボリュームプラグインについて
8. Dockerのデータ管理方法
その前にDockerのストレージ プラグインの仕組みについて
Dockerでのデータ永続化方法はいくつかあります
9. Dockerのデータ管理方法
10. Data ボリュームプラグインの仕組み
ボリュームプラグインの仕組みの詳細は以下のようになっています
参照:Dockerのボリュームプラグインとストレージドライバ
http://knowledge.sakura.ad.jp/knowledge/5021/
11. Rancherで使うのは、Data ボリュームプラグイン
12. (1)カタログからインフラコンテナをデプロイ
Rancherストレージコンテナをカタログからデプロイすると以下のように
13. (2)ボリュームを作成
volume-driverを指定して、
rancher volume create NewVolume --driver rancher-nfs
やUIからボリュームを作成します。
14. (3)コンテナを作成
コンテナを作成します。
-v でボリュームをオプションで指定するか、
docker-composeに書きましょう。
15. Rancherでのボリューム作成手順
- NFSなどのインフラ側を準備
- Rancherのカタログの「ライブラリ」から必要なサービ スを起動(例:Rancher NFS)
- ボリュームを作成 Rancherコマンドでも、UIからでも。
- コンテナからマウント -v オプションでも、Composeでも。
16. まとめ
- Dockerプラグイン機構を利用
- Rancherでのボリューム管理はRancherから可能