Docker Orchestration at Production Scale
-
Upload
docker-inc -
Category
Technology
-
view
4.641 -
download
0
Transcript of Docker Orchestration at Production Scale
Docker Orchestration at Production Scale
Andrea LuzzardiSoftware Engineer, Swarm
Victor VieuxSoftware Engineer, Swarm
Agenda
Scale- Production Ready - Performance DEMO
Compose +
Swarm +
Networking
Networking- New networking model
Storage- New volumes management
Swarm
3
Swarm 1.0: Production Ready
What do we need for production?
Scale Network Storage
ScaleProduction Ready Performance
Scale
5
Scale tests
1,000 nodes 30,000 containers 1 Swarm Manager
Scale
6
Scale tests
API Scheduling 50th 150ms 230ms 90th 200ms 250ms 99th 360ms 400ms
Scale
7
Scale
8
Lab
Manager: m4.xlarge (4 CPUs, 16GB RAM) Nodes: t2.micro (1 CPU, 1GB RAM) Discovery: consul
https://github.com/aluzzardi/swarm-bench
NetworkingNew networking model
Networking
10
Create private network just for your application
- each container gets a private ip on the network. - containers can join multiple networks.
Service discovery
- /etc/hosts is populated with other containers in the network. - access containers by name.
Networking
11
Batterie Included but swappable
two drivers included: - bridge (single host) - overlay (multi host)
but you can use 3rd party drivers or create you own - calico - weave - nuage networks - cisco - your own ?
Networking
12
New CLI commands
top level command: docker network
docker network ls - list networks
docker network create / rm - create and remove networks
docker network attach / detach - attach / detach a container to / from a network
docker network inspect - inspect a network
Networking
13
Swarm uses overlay networks by default
$> docker network create my_network 769ec703ef86536362ab435cf33427d0 $> docker network ls NETWORK ID NAME DRIVER 1e354b3eb444 node-1/bridge bridge 6a5b2f59c690 node-1/none null 1fd06af38540 node-1/host host 769ec703ef86 my_network overlay 6209426a12c3 node-2/bridge bridge e11e7529938d node-2/none null 9bc97dc763a3 node-2/host host
StorageNew volumes management
Storage
15
Persistent storage across machines
- Volumes are now a top-level concept - Can be created, destroyed and attached independently
Storage
16
Volume Drivers
by default, local bind mount
but you can use 3rd party drivers or create you own - glusterfs - sshfs - keywhiz - your own ?
Storage
17
New CLI commands
top level command: docker volume
docker volume ls - list volumes
docker volume create / rm - create and remove volume
docker volume inspect - inspect a network
DEMOSwarm + Compose + Networking
Demo
19
D
DockerCLI
Demo
20
D
DockerCompose
Thank you!Andrea Luzzardi @aluzzardi / [email protected]
Victor Vieux @vieux / [email protected]