dockercloud-haproxy icon indicating copy to clipboard operation
dockercloud-haproxy copied to clipboard

Added support for running on Worker nodes in Swarm Mode

Open samattridge opened this issue 8 years ago • 6 comments
trafficstars

There may be a better way of achieving this but I've simply added a SWARM_MASTER_ADDRESS environment variable that, if it exists, will allow the Haproxy to run on worker nodes. This is a workaround for the issue I raised (https://github.com/docker/dockercloud-haproxy/issues/215).

samattridge avatar Jul 25 '17 16:07 samattridge

My initial attempt using 'RUNNING_MODE_OVERRIDE' didn't work.

samattridge avatar Jul 25 '17 16:07 samattridge

@samattridge LGTM can you also please update the readme? :)

tifayuki avatar Aug 10 '17 23:08 tifayuki

Thanks @tifayuki. I've now updated the readme. Hope it's ok?

samattridge avatar Nov 10 '17 11:11 samattridge

@tifayuki Could you merge?

sheerun avatar Dec 11 '17 11:12 sheerun

@samattridge Could you explain what you mean by "Use this in conjunction with mounting /var/run/docker.sock to make this work" ? What would be example docker-compose.yml to make this work?

sheerun avatar Dec 11 '17 11:12 sheerun

@sheerun Ah, this is the issue with leaving too much time before looking back at this! /var/run/docker.sock mount is not required. Sorry about that.

It's not a docker-compose.yml file but this is the command I'm running if this helps?

docker service create --name haproxy --network proxy -e DEFAULT_SSL_CERT="certdetails" --publish mode=host,target=443,published=443 --constraint "node.labels.server == application" -e SWARM_MASTER_ADDRESS="172.20.0.68:2375" --mode global dockercloud-haproxy:latest

This is starting a service called 'haproxy' globally on any servers that have the 'server' label 'application' which, in my environment, are not Swarm masters.

samattridge avatar Dec 15 '17 15:12 samattridge