I’m finally getting that new server cluster set up, and I decided to use Docker Swarm over Kubernetes for simplicity. The biggest factor was that I didn’t need to rewrite all of my compose files for all the services running. However, there are a few caveats:
-
I didn’t configure swarm using Ansible. It was a complex hassle, so the swarm cluster was set up manually. That’s really not that big of a deal. However, things like the NFS share used for storage were set up using ansible.
-
The compose files do’t transfer perfectly. For example: labels in docker-compose are under the service element.
services:
whoami:
image: containous/whoami:latest
labels:
- traefik.enable=true
When using docker swarm, they go under the deploy node like this:
services:
whoami:
image: containous/whoami:latest
deploy:
labels:
- traefik.enable=true
- Traefik no longer auto-detects ports. You must specify them in the labels of the container.
That’s all for now, I’ll write some more as I have more experience with it.