Skip to content

Instantly share code, notes, and snippets.

@jpe42
Last active December 19, 2016 04:09
Show Gist options
  • Save jpe42/9afc36e4c52c96d1d3cb95a126814799 to your computer and use it in GitHub Desktop.
Save jpe42/9afc36e4c52c96d1d3cb95a126814799 to your computer and use it in GitHub Desktop.
Create Redis Masters as Swarm Services
#!/bin/bash
#./createMasters.sh 7001 5 redis-cluster-m- comodal/alpine-redis
readonly STARTING_PORT=${1:-0}
readonly NUM_MASTERS=${2:-0}
readonly NAME_PREFIX=${3:-"redis-cluster-m-"}
readonly IMAGE=${4:-"comodal/alpine-redis"}
for ((port = STARTING_PORT, endPort = port + NUM_MASTERS; port < endPort; port++)) do
name="$NAME_PREFIX$port"
docker service create\
--name "$name"\
--network backend\
--publish "$port:$port"/tcp\
--reserve-cpu=1\
--reserve-memory 1000MB\
--restart-condition any\
--stop-grace-period 60s\
"$IMAGE"\
--appendfsync everysec\
--appendonly yes\
--auto-aof-rewrite-percentage 20\
--cluster-enabled yes\
--cluster-node-timeout 60000\
--cluster-require-full-coverage no\
--logfile "$name".log\
--port "$port"\
--protected-mode no\
--repl-diskless-sync yes\
--save ''''
done
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment