Upload
go-chiba
View
758
Download
0
Embed Size (px)
Citation preview
DockerCon ’17 フィードバック+
Project Longhorn
Rancher JP 6th Meetup
Go Chiba @go_chiba
About me Go Chiba
– WorkAWS/Azure...OpenStack/CloudStack...Docker, Orchestrator, Monitoring...
– RoleRancher JP 運営メンバーGUI i18n サポート国内クラウド サポート
– ContactTwitter: @go_chiba
DockerCon ’17 Feedback
Ref: https://www.slideshare.net/gchiba/dockercon-17-feedback-at-paas-jp
Longhorn コンテナ向け分散ブロックストレージ
管理コンポーネントはコンテナとして動作
まだプロトタイプ段階であり商用環境での利用は不可→ 今年後半には商用グレードになる予定
Features
コントローラー per ボリューム
レプリカスケジューリング
コンポーネントはコンテナとして動作
スナップショット/バックアップ(w/ スケジューリング)
Components UI
Longhorn の Web UI を提供
ManagerLonghorn におけるオーケストレーション部担当、KVSを経由してボリュームの状態等を管理
DriverDocker 用ボリュームプラグインの管理(?)
Controllerボリューム毎に存在しiSCSIのターゲットとして動作バックエンドにレプリカを持つ
Replicaボリューム毎に指定したレプリカ数だけ存在、実ボリュームに関するスナップショットやメタデータ等を管理
Architecture - Control Plane -
Architecture - Data Plane -
Workflow
Physical Network
1. Create Overlay Networklonghorn-net(overlay)
docker0 gwbridge docker0 gwbridge
etcd
docker0 gwbridge docker0 gwbridge
longhorn-net(overlay)
Physical Network
2. Deploy etcd
UI etcdmanager
manager
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!!