docker swarm meetup (15min lightning)
TRANSCRIPT
Swarm:DockerNativeClustering
[email protected]:@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|[email protected] | GH:@mgoelzer |@mikegoelzer