+ All Categories
Home > Documents > DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... ·...

DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... ·...

Date post: 20-May-2020
Category:
Upload: others
View: 54 times
Download: 0 times
Share this document with a friend
24
Introduction to Swarm A Docker Native Clustering System Golfen Guo / 教授 「DaoCloud」 www.daocloud.io
Transcript
Page 1: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Introduction����������������������������  to����������������������������  ����������������������������  SwarmA����������������������������  ����������������������������  Docker����������������������������  Native����������������������������  Clustering����������������������������  System

Golfen����������������������������  Guo����������������������������  /����������������������������  教授����������������������������  「DaoCloud」����������������������������  

www.daocloud.io

Page 2: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Docker����������������������������  Native

Compose

App

YAML

Machine

Engine

Host

Swarm

Container

Cluster

Page 3: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

单机 Docker 环境

Page 4: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

多机 Docker 环境 = Swarm

Page 5: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

什么是 Swarm

• 多容器主机的资源池• ⽀支持 Docker REST API(99%)

• 资源管理(CPU、Mem、Networking)• 容器调度• 节点服务发现• 安全和验证• 多租户

Page 6: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Swarm 1.2.0 NOW!

Page 7: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

创建⼀一个 Swarm 集群

• 启动 Swarm Managerdocker run -d swarm manage token://<token>

• 启动 Swarm Nodedocker run -d swarm join token://<token>

• Let’s Play!$ DOCKER_HOST=<manager_ip> docker run -d hello-world docker ps

Page 8: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Swarm 节点发现

• DockerHub 内置服务发现

• KV 分布式存储系统etcd, Consul, ZooKeeper …

• 静态配置

Page 9: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Swarm 调度

• Constraints约束过滤器:操作系统类型、内核版本、存储类型等;⾃自定义约束,通过Label来指定主机特点。

• Affnity亲和性过滤:容器和镜像亲和性

• Dependency依赖过滤:--volume-from/--link/--net

• Health filter节点状态过滤:去除故障节点。

• Ports filter端⼝口现状过滤:会根据端⼝口的使⽤用情况过滤。

Page 10: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Swarm 调度

• BinPack

• Spread• Random

Page 11: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

节点错误重新调度

Page 12: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Manager ⾼高可⽤用

Page 13: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Manager ⾼高可⽤用

Page 14: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

跨主机⺴⽹网络

Page 15: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

0

50

100

150

200

250

300

350

400

VXLan FLANNEL UDP WEAVE PCAP CALICO

Overlay Network benchmark

Bandswitch CPU Cost

Docker 原⽣生虚拟⺴⽹网络

Page 16: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

⺴⽹网络管理

Page 17: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv
Page 18: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv
Page 19: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

overlay ⺴⽹网络

Page 20: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Volume 管理

Page 21: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Volume 管理⽰示例

Page 22: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Volume 外部系统集成

Page 23: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Swarm + Compose + Machine

Page 24: DaoCloud - 走进 Docker Swarm-lite7xi8kv.com5.z0.glb.qiniucdn.com/DaoCloud - 走进 Docker... · 2016-03-29 · Multiple Docker Engines Swarm Machine discovery etcd O zookeeper libkv

Recommended