Docker Swarm Meetup (15min lightning)

Post on 16-Apr-2017

4,065 views 3 download

transcript

Swarm:DockerNativeClustering

MikeGoelzermgoelzer@docker.comGH:@mgoelzerFreenode/Twitter:@mikegoelzer

Swarm:Simplicity,Flexibility,EaseofSetup

• WhatisSwarm?• Howdoyousetitup?• Samplemicroservice applicationonSwarm

SwarmturnsmultipleDockerhostsintoasingle,virtualDockerhost.

dockerdaemon(node-1)

Container

Container

>_Docker CLI

dockerDockerComposeKitematicJenkinsplugin

dockerdaemon(node-1)

Container

Container

>_Docker CLI

SwarmmanagerdockerDockerComposeKitematicJenkinsplugin

dockerdaemon(node-0)

Container

Container

dockerdaemon(node-2)

Container

Container

SwarmFeatures

• Scheduling• Reschedulingonfailure• HA(multiplemasters)• Labels,affinitiesandconstraintstocontrolschedulingdecisions• DNS-basedservicediscovery

Simple:2stepstocreateacluster

1. RunSwarmManager2. RestartyourDockerdaemonswith

someextraarguments

Step1:StartSwarmmanager

docker run -d -p 3375:2375 swarm manage consul://192.168.33.10:8500/

Refs:https://docs.docker.com/swarmhttps://docs.docker.com/swarm/install-manual/

Step2:Addsomeargs toyourdaemons

RestartDockerdaemonswith:

DOCKER_OPTS=-H=tcp://0.0.0.0:2375--cluster-store=consul://192.168.33.11:8500--cluster-advertise=eth1:2375

Refs:https://docs.docker.com/swarmhttps://docs.docker.com/swarm/install-manual/

Voilà,acluster

ExampleRepo:MicroserviceApponSwarm

UpcomingSwarmMeetup:http://www.meetup.com/Docker-Mountain-View/events/228284089/

https://github.com/mgoelzer/swarm-demo-voting-appDemonstratesamicroservice apponSwarmincluding:• Vagrantfile andAWSCloudFormation templatetodeploy thecluster• Loadbalancedwebfrontend• DNS-basedservicediscovery

Interlock(nginxorha_proxy)

web01

redis01

web02

redis02

web03

redis03

web04

redis04

web05

redis05

pg results-app

10.0.0.4

10.0.0.3

36.36.36.36

10.0.0.100

10.0.0.5

10.0.0.5

10.0.0.7

10.0.0.6

10.0.0.9

10.0.0.8

10.0.0.11

10.0.0.10

10.0.0.101

https://github.com/mgoelzer/swarm-demo-voting-app

ClusteredVotingApp

https://github.com/mgoelzer/swarm-demo-voting-app

Jérôme’sExample:CoinMiner

Slides:http://view.dckr.info/Repo:https://github.com/jpetazzo/orchestration-workshop

Demonstrates:• HowtodobatchworkloadsonSwarm• ELKstackforlogging andmetrics• Otherloadbalancingpatternsbeyond Interlock

MikeGoelzer|mgoelzer@docker.com | GH:@mgoelzer |@mikegoelzer