Download - Docker Swarm by Victor Vieux

Transcript
Page 1: Docker Swarm by Victor Vieux

Docker Swarm!

@aluzzardi - @vieux!

Page 2: Docker Swarm by Victor Vieux

Demo!

us-west! us-east!

Docker!CLI!

Docker!CLI!

Docker!CLI!

=! RAM: 2GB!CPU: 1core!

Page 3: Docker Swarm by Victor Vieux

Demo!

us-west! us-east!

=! RAM: 2GB!CPU: 1core!

Docker!CLI!

Docker!CLI!

Page 4: Docker Swarm by Victor Vieux

Setup!

•  Create a cluster:! $ swarm create

•  Add nodes to a cluster:! $ swarm join --token=<token> --addr=<node_ip>

•  List nodes in a cluster! $ swarm list --token=<token>

•  Start Swarm!

$ swarm manage --token=<token> --addr=<swarm_ip> !!!!

Page 5: Docker Swarm by Victor Vieux

Resource Management!

•  Memory!" "$ docker run -m 1g …

•  CPU!" "$ docker run -c 1 …

•  Ports!" "$ docker run -p 80:80 …

•  More to come, ex: network interfaces!!!!

Page 6: Docker Swarm by Victor Vieux

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” …

•  More to come, ex: affinity!!!!

Page 7: Docker Swarm by Victor Vieux

Rescheduling!

•  Rescheduling policies; similar to `--restart`!

•  Pending status!

!!!

Page 8: Docker Swarm by Victor Vieux

Swarm scheduler!

2 steps:!!•  1- Apply filters to exclude nodes!

" "- ports!" "- labels!" "- health!

•  2- Use a strategy to pick the best node!" "- bin packing!" "- random!

!!

!!Contributions are welcome ☺ :!

!!!

Page 9: Docker Swarm by Victor Vieux

http://github.com/docker/swarm!

@aluzzardi - @vieux!

Thank You.!