Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker Swarm on Mesos

Docker Swarm on Mesos

Slides from the the talk I presented with Timothy Chen https://twitter.com/tnachen at #MesosCon 2015

1c23303ba42e0f9c0e017a94e900ea6c?s=128

Victor Vieux

August 21, 2015
Tweet

Transcript

  1. Docker Swarm on Mesos @tnachen - @vieux

  2. Agenda • Docker Swarm introduction • Docker Swarm on Mesos

    • How to setup Docker Swarm on DCOS • DEMO
  3. Running containers on multiple hosts

  4. Docker CLI Docker CLI Docker CLI Today

  5. Docker CLI Docker CLI Swarm With Docker Swarm

  6. Swarm in a nutshell • Exposes several Docker Engines as

    a single virtual Engine • Serves the standard Docker API • Extremely easy to get started • Batteries included but swappable
  7. Timeline Oct 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 experimental mesos integration Apr Aug 0.4.0 Release Nov 0.5.0 Release stable mesos integration
  8. Bring the Docker workflow on a Mesos Cluster

  9. + Mesos CLI Mesos Agents + + + + +

    + + + + + + + + Mesos Masters Marathon Mesos Cluster
  10. + Mesos CLI Mesos Agents + + + + +

    + + + + + + + + Mesos Masters Marathon Docker CLI Mesos Cluster + Docker Swarm
  11. + Mesos CLI Mesos Agents + + + + +

    + + + + + + + + Mesos Masters Marathon Docker CLI shipyard kitematic compose Mesos Cluster + Docker Swarm
  12. Swarm Scheduler 2 steps: • 1- Apply filters to exclude

    nodes/offers - ports - constraints - affinity - health - dependency • 2- Use a strategy to pick the best node/offer - binpack - spread - random
  13. Resource Management • Memory $ docker run -m 1g …

    • CPU $ docker run -c 1 … • Ports $ docker run -p 80:80 …
  14. Scheduling parameters • Constraints docker run -e “constraint:node==agent-04” … docker

    run -e “constraint:region==us-east” … • (anti-)Affinities docker run --name redis-master redis docker run --name redis-slave -e “affinity:container!=redis*” …
  15. Why Docker Swarm + Mesos? Scalable to 10,000s of nodes

    Benefit from Mesos features / APIs Mesos + Docker Ecosystem Docker client experience
  16. None
  17. None
  18. Swarm

  19. Mesosphere Universe

  20. None
  21. None
  22. Install: dcos package install swarm Setup: eval $(dcos swarm env)

    Run: docker run -c 1 busybox ls
  23. Demo docker-compose on DCOS

  24. http://github.com/docker/swarm http://mesosphere.com/learn #docker-swarm on freenode @tnachen - @vieux Thank You.

    Questions?