DockerCon ’17 フィードバック
+
Project Longhorn
Rancher JP 6th Meetup
Go Chiba
@go_chiba
About me
 Go Chiba
– Work
AWS/Azure...
OpenStack/CloudStack...
Docker, Orchestrator, Monitoring...
– Role
Rancher JP 運営メンバー
GUI i18n サポート
国内クラウド サポート
– Contact
Twitter: @go_chiba
DockerCon ’17 Feedback
Ref:
https://www.slideshare.net/gchib
a/dockercon-17-feedback-at-
paas-jp
Longhorn
 コンテナ向け分散ブロックストレージ
 管理コンポーネントはコンテナとして動作
 まだプロトタイプ段階であり商用環境での利用は不可
→ 今年後半には商用グレードになる予定
Features
コントローラー per ボリューム
レプリカスケジューリング
コンポーネントはコンテナとして動作
スナップショット/バックアップ(w/ スケジューリング)
Components
 UI
Longhorn の Web UI を提供
 Manager
Longhorn におけるオーケストレーション部担当、KVSを経由してボリュームの状態等を管理
 Driver
Docker 用ボリュームプラグインの管理(?)
 Controller
ボリューム毎に存在しiSCSIのターゲットとして動作
バックエンドにレプリカを持つ
 Replica
ボリューム毎に指定したレプリカ数だけ存在、実ボリュームに関するスナップショットやメタデータ等を管理
Architecture - Control Plane -
Architecture - Data Plane -
Workflow
Physical Network
1. Create Overlay Network
longhorn-net(overlay)
docker0 gwbridge docker0 gwbridge
etcd
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
2. Deploy etcd
UI etcdman
ager
man
ager
driver UI
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
3. Deploy Longhorn Component
driver
LHC etcdLHR LHRUbuntu UI
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
LHC:
Longhorn
Controller
LHR:
Longhorn
Replica
4. Deploy with longhorn driver
LHC etcdLHR LHRUbuntu UI
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
LHC:
Longhorn
Controller
LHR:
Longhorn
Replica
More Details...
/dev/longhorn/vol1
iSCSI
LHC etcdLHR LHRUbuntu UI
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
LHC:
Longhorn
Controller
LHR:
Longhorn
Replica
More Details...
/dev/longhorn/vol1
→ /var/lib/rancher/volumes/longhorn/vol1
iSCSI
LHC etcdLHR LHR UI
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
LHC:
Longhorn
Controller
LHR:
Longhorn
Replica
More Details...
Ubuntu
iSCSI
-v vol1:/vol1
/dev/longhorn/vol1
→ /var/lib/rancher/volumes/longhorn/vol1
Working today...
 Swarm クラスタ上で分散ボリュームの作成、
作成したボリュームの利用
 レプリカの障害検知およびリビルド
 スナップショット/バックアップの作成、
およびそれらのスケジューリング
 GUI と API の提供
Upcoming
 Kubernetes flexvolume 向けドライバ
 Rancher 連携(Longhorn クラスタをカタログからデプロイ)
 コントローラー、レプリカのオンラインアップグレード
 イベントログ(e.g. レプリカがリビルドされた)
 S3 へのバックアップ
(コード自体は既に存在しているが API キー等の管理方法を検討中)
Upcoming
 ディスク容量や IOPS に基づいたレプリカのスケジューリング
現在の実装はシンプルなアンチアフェニティベースでホストを選出
 単一ホストにおける複数ディスクサポート
 ボリュームに関する統計情報(スループット, IOPS等)
 Longhorn UI や API における認証とユーザー管理
 ボリューム暗号化
 パフォーマンスチューニング
Summary
 とりあえず動く(Swarmで!)
多分 Cattle でも動くけど試せてない
 Document もそんな無い
コード読むっきゃない
 まだまだ実験段階
要望があるなら今のうち!!
Thank you!!

DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP