Upload
arunan-rabindran
View
3.477
Download
0
Embed Size (px)
Citation preview
Docker Swarmv1.0 and beyond
@arunan
Arunan Rabindran@arunan
Special Thanks to@abronan
Introduction
v1.0
Upcoming features
UCP and Tutum
Q&A
Docker Engine
Docker CLI
Docker CLI
Docker CLI
With Docker Swarm
Docker CLI
Docker CLI
Swarm
TimelineOct
Nov
Dec
Jan
Feb
Jun
Proof of Concept
DockerCon EU Open Repository
First Release Candidate
Swarm Beta Release
Global Hack Day Open Proposal
0.2.0 Release
0.3.0 Release
Apr
Oct0.4.0 Release
1.0.0 Release
Aug
2015
Swarm 1.0.0• Docker REST API (99%)• Resource management (CPU, Mem, Networking) • Advanced scheduling with constraints and affinities • Multiple Discovery Backends (hub, etcd, consul, zookeeper) • TLS: Encryption & Authentication
• Leader Election • Works great with Docker 1.9 Networking, Volume Plugins • Focus on stability & stress tested on a 1000 EC2 nodes
managers
scheduler
followers
key value store
CLI
discovery• k/v store • file/node • gossip (not supported yet)
node-1 node-2 node-3 node-4
overlay network
Swarm Scheduler
2 steps:
• 1- Apply filters to exclude nodes
- ports
- constraints - affinity
- health - dependency
• 2- Use a strategy to pick the best node
- binpack
- spread
- random
Resource Management
• Memory
$ docker run -m 1g …
• CPU
$ docker run -c 1 …
• Ports
$ docker run -p 80:80 …
• More to come, ex: network interfaces
Constraints
• Standard constraints induced from docker info
docker run -e “constraint:operatingsystem==*fedora*” … docker run -e “constraint:storagedriver==*aufs*” …
• Custom constraints with host labels
docker -d --label “region==us-east” docker run -e “constraint:region==us-east” …
• Pin a container to a specific host
docker run –e “constraint:node==ubuntu-2” …
Affinities
• Containers affinities
docker run --name web nginx
docker run -e “affinity:container==web” logger
• Containers Anti-affinities
docker run --name redis-master redis docker run --name redis-slave -e “affinity:container!=redis*” …
• Images affinities
docker run -e “affinity:image==redis” redis
Brief overview of Tutum and UCP
• Tutum
-Docker Services for the Cloud
• DUCP (Docker Universal Control Plane)
-Docker’s on-premises clustering solution -based on Swarm
DemoMultihost networking/Failover in
Swarm & Tutum stack deployment
http://github.com/docker/swarm
#docker-swarm on freenode
@aluzzardi - @vieux - @abronan
Thank You. Questions?