docker_cluster
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| docker_cluster [2024/10/21 01:08] – neoon | docker_cluster [2024/10/21 15:29] (current) – neoon | ||
|---|---|---|---|
| Line 25: | Line 25: | ||
| **4**. Enable GlusterFS | **4**. Enable GlusterFS | ||
| - | systemctl start glusterd | + | systemctl start glusterd |
| - | | + | |
| **5**. Peer with your GlusterFS nodes | **5**. Peer with your GlusterFS nodes | ||
| Line 36: | Line 35: | ||
| gluster peer status | gluster peer status | ||
| - | **7.** | + | **7.** |
| - | mkdir -p / | + | mkdir -p / |
| + | |||
| + | **8.** Create your first volume for Docker | ||
| gluster volume create docker replica 3 10.0.1.1:/ | gluster volume create docker replica 3 10.0.1.1:/ | ||
| + | gluster volume start docker | ||
| - | **8**. Mount your first volume | + | **9**. Mount your first volume |
| - | mkdir -p / | + | |
| mount.glusterfs 10.0.X.1:/ | mount.glusterfs 10.0.X.1:/ | ||
| | | ||
| - | **9**. Make the mount boot ready | + | **10**. Make the mount boot ready |
| [Unit] | [Unit] | ||
| Line 61: | Line 62: | ||
| Copy this to / | Copy this to / | ||
| - | **10**. Enable the mount service | + | **11**. Enable the mount service |
| systemctl enable mounts | systemctl enable mounts | ||
| | | ||
| - | **11**. You may have to edit the GlusterFS systemd file to prevent a race condition with your VPN. \\ | + | **12**. You may have to edit the GlusterFS systemd file to prevent a race condition with your VPN. \\ |
| GlusterFS will fail to start if your VPN isn't running already. | GlusterFS will fail to start if your VPN isn't running already. | ||
| Line 74: | Line 75: | ||
| Profit! Next reboot GlusterFS should start up fine. | Profit! Next reboot GlusterFS should start up fine. | ||
| - | **12**. Install Docker | + | **13**. Install Docker |
| # Add Docker' | # Add Docker' | ||
| Line 87: | Line 88: | ||
| apt-get update && apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y | apt-get update && apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y | ||
| - | **13**. Init the Swarm on the first Node | + | **14**. Init the Swarm on the first Node |
| docker swarm init --advertise-addr 10.0.1.1 --listen-addr=10.0.1.1 | docker swarm init --advertise-addr 10.0.1.1 --listen-addr=10.0.1.1 | ||
| advertise-addr will only advertise the swarm inside our VPN network | advertise-addr will only advertise the swarm inside our VPN network | ||
| - | **14**. Join other Nodes | + | **15**. Join other Nodes |
| docker swarm join --token whateverthattokenis 10.0.1.1: | docker swarm join --token whateverthattokenis 10.0.1.1: | ||
| docker swarm join --token whateverthattokenis 10.0.1.1: | docker swarm join --token whateverthattokenis 10.0.1.1: | ||
| listen-addr will force swarm to bind to your local VPN | listen-addr will force swarm to bind to your local VPN | ||
| - | **15**. Promote the other Nodes to archive 100% True HA | + | **16**. Check the Cluster |
| + | docker node ls | ||
| + | |||
| + | **17**. Promote the other Nodes to archive 100% True HA | ||
| docker node promote node2 | docker node promote node2 | ||
| docker node promote node3 | docker node promote node3 | ||
| | | ||
| - | **16**. Deploy your first service \\ | + | **18**. Deploy your first service \\ |
| In my case it was a ZNC bouncer. \\ | In my case it was a ZNC bouncer. \\ | ||
| Had to run the docker container normally to generate the config files. \\ | Had to run the docker container normally to generate the config files. \\ | ||
| Line 108: | Line 112: | ||
| Lets deploy the service. | Lets deploy the service. | ||
| docker service create --mount type=bind, | docker service create --mount type=bind, | ||
| + | The service will get exposed on port 1025 on all nodes. | ||
| | | ||
| - | **17**. If you run this, on any node. | + | **19**. If you run this, on any node. |
| docker node ps $(docker node ls -q) | docker node ps $(docker node ls -q) | ||
| | | ||
| You should be able to check your container status. | You should be able to check your container status. | ||
| - | **18**. When you reboot the mentioned | + | **20**. When you reboot the node with your container, the service should be restored in about 60s. |
docker_cluster.1729472893.txt.gz · Last modified: 2024/10/21 01:08 by neoon
