Commit 34b29822 authored by iamabhishek-dubey's avatar iamabhishek-dubey

Added compose setup for cluster and standalone mode

parent 5a20d080
......@@ -34,8 +34,4 @@ VOLUME ["/data"]
WORKDIR /data
EXPOSE 6379
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
USER redis
......@@ -5,7 +5,11 @@ build-redis-exporter-image:
docker build -t opstree/redis-exporter:dev -f Dockerfile.exporter .
setup-standalone-server-compose:
docker-compose up -f docker-compose-standalone.yaml -d
docker-compose -f docker-compose-standalone.yaml up -d
setup-cluster-compose:
docker-compose up -f docker-compose.yaml -d
docker-compose -f docker-compose.yaml up -d
docker-compose exec redis-master-3 /bin/bash -c "/usr/bin/run.sh"
docker-compose exec redis-slave-1 /bin/bash -c "/usr/bin/run.sh"
docker-compose exec redis-slave-2 /bin/bash -c "/usr/bin/run.sh"
docker-compose exec redis-slave-3 /bin/bash -c "/usr/bin/run.sh"
version: '3.3'
services:
redis:
image: opstree/redis:1.0
restart: always
expose:
- 6379
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: standalone
version: '3.3'
services:
redis-master-1:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.2
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: master
redis-master-2:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.3
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: master
depends_on:
- redis-master-1
redis-master-3:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.4
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: master
MASTER_LIST: "10.5.0.2:6379 10.5.0.3:6379 10.5.0.4:6379"
depends_on:
- redis-master-1
- redis-master-2
redis-slave-1:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.5
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: slave
SLAVE_IP: "10.5.0.5:6379"
MASTER_IP: "10.5.0.2:6379"
depends_on:
- redis-master-1
- redis-master-2
- redis-master-3
redis-slave-2:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.6
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: slave
SLAVE_IP: "10.5.0.6:6379"
MASTER_IP: "10.5.0.3:6379"
depends_on:
- redis-master-1
- redis-master-2
- redis-master-3
redis-slave-3:
image: opstree/redis:1.0
restart: always
networks:
redis:
ipv4_address: 10.5.0.7
environment:
REDIS_PASSWORD: "Opstree@12345"
SETUP_MODE: cluster
SERVER_MODE: slave
SLAVE_IP: "10.5.0.7:6379"
MASTER_IP: "10.5.0.4:6379"
depends_on:
- redis-master-1
- redis-master-2
- redis-master-3
networks:
redis:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
......@@ -3,12 +3,17 @@
redis_server_mode() {
if [[ "${SERVER_MODE}" == "master" ]]; then
echo "Redis server mode is master"
if [[ -z "${REDIS_PASSWORD}" ]]; then
redis-cli --cluster create "${MASTER_LIST}" --cluster-yes
else
redis-cli --cluster create ${MASTER_LIST} --cluster-yes -a "${REDIS_PASSWORD}"
fi
elif [[ "${SERVER_MODE}" == "slave" ]]; then
echo "Redis server mode is slave"
if [[ -z "${REDIS_PASSWORD}" ]]; then
redis-cli --add-node "${SLAVE_IP}" "${MASTER_IP}" --cluster-slave
redis-cli --cluster add-node ${SLAVE_IP} ${MASTER_IP} --cluster-slave
else
redis-cli --add-node "${SLAVE_IP}" "${MASTER_IP}" --cluster-slave -a "${REDIS_PASSWORD}"
redis-cli --cluster add-node ${SLAVE_IP} ${MASTER_IP} --cluster-slave -a "${REDIS_PASSWORD}"
fi
else
echo "Redis server mode is standalone"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment