Apa yang diperlukan adalah minimum dua atau tiga server untuk cluster server.
Sediakan tiga server .
1 server untuk Manager (Boleh ada banyak manager tapi hanya ada 1 leader dalam 1 masa)
2 server lagi untuk Worker
node1 192.168.1.45 (Manager)
node2 192.168.1.44 (Worker)
node3 192.168.1.48 (Worker)
Setiap server perlu install Docker dan Docker Compose
Node1
Docker Installation
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker version
Refer Here for detail
https://docs.docker.com/engine/install/ubuntu/
Kemudian Install Docker Compose
Docker Compose: https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version
Ulang step ini untuk Node2 dan Node3
Docker Installation
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker version
Refer Here for detail
https://docs.docker.com/engine/install/ubuntu/
Kemudian Install Docker Compose
Docker Compose: https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version
Setelah semua node install docker dan docker compose teruskan langkah seterusnya
enable docker swarm Manager di Node1
docker swarm init If above command is failing use the below: docker swarm init --advertise-addr "ipaddress"
Enable Docker Swarm Worker di node2 dan node3
docker swarm join --token SWMTKN-1-1xxxxxxxxxxxxxza8ryxxxxx9gbbs 192.168.X.45:2377
Nak dapatkan balik token :
docker swarm join-token manager or docker swarm join-token worker
Lepas tu install portainer dekat Node1
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml docker stack deploy -c portainer-agent-stack.yml portainer
Selesai