From f5f5013f622b35a6cd8e58a5d504d1921c8d23c9 Mon Sep 17 00:00:00 2001 From: James Turland Date: Thu, 14 Dec 2023 17:13:05 +0000 Subject: [PATCH] update --- Docker-Swarm/swarm.sh | 47 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/Docker-Swarm/swarm.sh b/Docker-Swarm/swarm.sh index 6e72fb5..e13656e 100644 --- a/Docker-Swarm/swarm.sh +++ b/Docker-Swarm/swarm.sh @@ -28,6 +28,10 @@ manager3=192.168.3.23 worker1=192.168.3.24 worker2=192.168.3.25 +# Set the workers' hostnames (if using cloud-init in Proxmox it's the name of the VM) +workerHostname1=dockerSwarm-04 +workerHostname2=dockerSwarm-05 + # User of remote machines user=ubuntu @@ -83,7 +87,7 @@ scp -i /home/$user/.ssh/$certName /home/$user/$certName $user@$manager1:~/.ssh scp -i /home/$user/.ssh/$certName /home/$user/$certName.pub $user@$manager1:~/.ssh -# Install Docker for each node +# Install dependencies for each node (Docker, GlusterFS) for newnode in "${all[@]}"; do ssh $user@$newnode -i ~/.ssh/$certName sudo su < /dev/null apt-get update NEEDRESTART_MODE=a apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y + NEEDRESTART_MODE=a apt install software-properties-common glusterfs-server -y + systemctl start glusterd + systemctl enable glusterd + mkdir -p /gluster/volume1 exit EOF echo -e " \033[32;5mDocker installed!\033[0m" @@ -142,4 +150,39 @@ for newnode in "${workers[@]}"; do exit EOF echo -e " \033[32;5mWorker node joined successfully!\033[0m" -done \ No newline at end of file +done + +# Step 5: Create GlusterFS Cluster across all nodes (connect to Manager1) - we will also label our nodes to restrict deployment of services to workers only +ssh -tt $user@$manager1 -i ~/.ssh/$certName sudo su <> /etc/fstab + mount.glusterfs localhost:/staging-gfs /mnt + chown -R root:docker /mnt + exit +EOF + echo -e " \033[32;5mGlusterFS mounted on reboot\033[0m" +done + +# OPTIONAL # +# Step 7: Add Portainer +ssh -tt $user@$manager1 -i ~/.ssh/$certName sudo su <