nopaque/dind_swarm_setup.sh
2019-12-02 11:57:08 +01:00

37 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
SWARM_MANAGER_IP=""
SWARM_WORKER_NUMBER=4
if [ -z ${SWARM_MANAGER_IP} ]; then
# See https://stackoverflow.com/a/25851186
SWARM_MANAGER_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
fi
echo "Leave possible swarm and down all services..."
docker swarm leave --force
docker-compose --file dind_swarm.yml down
echo "Start storage container"
docker-compose --file dind_swarm.yml up --detach storage
sleep 3
echo "Mount network storage to host system..."
sudo mkdir -p /mnt/nopaque
sudo umount /mnt/nopaque
sudo mount -t cifs -o gid=${USER},password=nopaque,uid=${USER},user=nopaque,vers=3.0 //localhost/storage.nopaque /mnt/nopaque
echo "Start worker service(s)"
docker-compose --file dind_swarm.yml up --detach --scale worker=${SWARM_WORKER_NUMBER} worker viz
sleep 7
echo "Init Docker swarm..."
docker swarm init --advertise-addr ${SWARM_MANAGER_IP}
echo "Add workers to swarm..."
SWARM_WORKER_TOKEN=$(docker swarm join-token -q worker)
for i in $(seq 1 ${SWARM_WORKER_NUMBER}); do
echo -n "[opaque_worker_${i}]: "
docker-compose --file dind_swarm.yml exec --index=${i} worker docker swarm join --token ${SWARM_WORKER_TOKEN} ${SWARM_MANAGER_IP}:2377
done