Docker Swarm on Scaleway

Intro

I write this mostly for myself, but also to help others who want to achieve a similar configuration in the future.

This is mostly based off Funky Penguin's cookbook[1] on how to set up Swarm, adapted to Scaleway as there are some things that need to be taken care of.

This will cover things like setting up etcd and flannel[2] to provide a SDN[3] that can be used with Ceph without having to care much for Scaleway's own local IP ranges.

Prerequisites:

3x Scaleway C2L (Other machines won't work since they don't have local disk) each with:

  • Ubuntu 16.04
  • Docker 17.0+

Plans

The first step in setting up this on scaleway, we'll set up etcd, this will provide a KV store for flannel to store it's configuration in a way that each node will have it accessible and being the same for each machine.

After that, we'll set up static IP ranges for each machine, before we introduce Docker to the mix and then start setting up Ceph for the clustered storage, this will mostly be based on Funky Penguin's recipe.

Throughout the parts I'll use the following IPs for when we need to talk about the hosts:

10.0.0.1 swarm1 scaleway internal IP
10.0.0.2 swarm2 scaleway internal IP
10.0.0.3 swarm3 scaleway internal IP

Parts

  1. Setting up etcd
  2. Setting up flannel
  3. Setting up Docker
  4. Setting up Ceph
  5. Setting up Swarm

next »


  1. https://geek-cookbook.funkypenguin.co.nz/ ↩︎

  2. Flannel is a SDN solution made for CoreOS that is fairly easy to set up and configure that works on Scaleway with little effort ↩︎

  3. Software Defined Network, think of it as virtualized networking for the simple version, or read up about it on Wikipedia. ↩︎