19
Dieter Reuter @quintus23m Senior Consultant, SEAL Systems Stefan Scherer @stefscherer Software Engineer, SEAL Systems Building a Docker Swarm on ARM

Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Embed Size (px)

Citation preview

Page 1: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Dieter Reuter @quintus23m Senior Consultant, SEAL Systems

Stefan Scherer @stefscherer Software Engineer, SEAL Systems

Building a Docker Swarm on ARM

Page 2: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Hardware Pi’s Switch Power supply

Agenda

Software SD card image flash docker-machine

Demo docker-compose

Page 3: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

• Education • Learning cloud principles • Hands-on cluster

Why?

Page 4: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Build Hardware

Page 5: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Parts list

For a four node swarm.

• 4x Raspberry Pi 2/3 • 5 port switch with 5V • 6x USB power supply • Distant bolts 2.5mm • 4x micro USB cable • 1x 5.5mm barrel USB • 4x flat patch cable • 4x Micro SD cards

Build Hardware

Page 6: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer
Page 7: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

HypriotOSGet started with Docker in 5 minutes

Page 8: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

For Linux and Mac

Small helper script to do all these in just one command:

• Download the SD card image • Uncompress it • Set hostname for device • Set WiFi

Flash HypriotOS

Page 9: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Flash HypriotOS

$ flash \ --hostname swarm01 \ --ssid wifipsk \ --password wifipwd \ https://downloads.hypriot.com/hypriotos-rpi-v0.8.0.img.zip

# repeat for swarm02..swarm04

Page 10: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Find your Pi

$ ping swarm01.local

Page 11: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Add your SSH key

$ ssh-keygen -R swarm01.local

$ ssh-copy-id [email protected]

# repeat for swarm02..swarm04

Page 12: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

… some plumbing code

$ export TOKEN=$(for i in $(seq 1 32); do echo -n $(echo \ "obase=16; $(($RANDOM % 16))" | bc); done; echo)

$ function getip() { (traceroute $1 2>&1 | head -n 1 | \ cut -d\( -f 2 | cut -d\) -f 1) }

Page 13: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Create Docker Swarm manager

$ docker-machine create -d generic \ --engine-storage-driver=overlay --swarm --swarm-master \ --swarm-image hypriot/rpi-swarm:latest \ --swarm-discovery="token://$TOKEN" \ --generic-ip-address=$(getip swarm01.local) \ swarm01

Page 14: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Create Docker Swarm nodes

$ docker-machine create -d generic \ --engine-storage-driver=overlay --swarm \ --swarm-image hypriot/rpi-swarm:latest \ --swarm-discovery="token://$TOKEN" \ --generic-ip-address=$(getip swarm02.local) \ swarm02

# repeat for swarm03..swarm04

Page 15: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Control your Docker Swarm

$ eval $(docker-machine env --swarm swarm01)

$ docker info

Page 16: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Demo Time

Page 17: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

• Self made cluster • Pico Cluster • BitScope Blade

Your ideas?

Examples

Page 18: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

• http://blog.hypriot.com • http://picocluster.com • http://bitscope.com/product/blade

Further Links

Page 19: Building a Docker Swarm cluster on ARM by Dieter Reuter and Stefan Scherer

Thank you! @quintus23m @stefscherer

@HypriotTweets