1. Module Install Docker Swarm in Ubuntu 16.04
By Andri Kurnia Putra <andri.24434@gmail.com>
1. Pastikan Ubuntu 16.04 sudah terinstall di VMWARE, dalam kasus ini gunakan
VMWARE Workstation 11/12.
2. Komen Repo Source List CDROM bawaan Ubuntu 16.04.
Caranya : #sudo nano /etc/apt/sources.list
Simpan dengan cara : Ctrl+X ----- Ketika ‘Y’ ------ dan Enter
3. Update Repo list : #sudo apt-get update && apt-get upgrade
Note : Pastikan Internet Aktif
2. 4. Install App yang diperlukan
#sudo apt-get install git make curl openssh-client openssh-server -y
#mkdir /home/{name}/home/installapp
#cd /home/{name}/home/installapp
#git clone https://github.com/andreal01/Docker-Install.git
#cd Docker-Install
#make install-docker
5. Shutdown Linux dan lakukan Clone (disarankan Clone Link untuk
mempercepat proses)
Klik Kanan di VM dan lakukan ini :
4. Jalankan ke dua VM yang sudah di clone
6. Login, Cek IP VM masing2 dan ganti Hostname, IP dan Host
a) Ganti IP
Pastikan dulu sebelum di ubah dengan mengetik #ifconfig
wa
Dalam kasus ini Ip NAT VM nya ada 192.168.139.xxx dengan gateway
192.168.139.2 (ini didapat karena bawaan NAT gateway nya berujung 2)
Setingan Server Master
Jangan masukan huruf setelah tanda <-- atau --> dan tidak bercetak
tebal
#sudo nano /etc/network/interfaces
<-- XXXXXXXXXXXXXX -->
#iface ens33 inet dhcp <-- comment dengan cara menulis # di awal
iface ens33 inet static
address 192.168.139.131
subnet 255.255.255.0
gateway 192.168.139.2
network 192.168.139.0
dns-nameservers 192.168.139.2 8.8.8.8
5. b) Ganti Hostname Jangan masukan huruf setelah tanda <-- atau --> dan
tidak bercetak tebal
#sudo nano /etc/hostname
<-- Delete all and insert this -->
master1
c) Ganti Host (Jangan masukan huruf setelah tanda <-- atau --> dan tidak
bercetak tebal)
#sudo nano /etc/hosts
<-- Tambahkan di bawah 127.0.0.1 -->
127.0.0.1 master1
192.168.139.132 worker1 <-- Ini IP worker yang kita setting setelah
ini
Setingan Server worker1
Jangan masukan huruf setelah tanda <-- atau --> dan tidak bercetak
tebal
#sudo nano /etc/network/interfaces
<-- XXXXXXXXXXXXXX -->
#iface ens33 inet dhcp <-- comment dengan cara menulis # di awal
iface ens33 inet static
address 192.168.139.132
subnet 255.255.255.0
gateway 192.168.139.2
network 192.168.139.0
dns-nameservers 192.168.139.2 8.8.8.8
d) Ganti Hostname Jangan masukan huruf setelah tanda <-- atau --> dan
tidak bercetak tebal
#sudo nano /etc/hostname
<-- Delete all and insert this -->
worker1
e) Ganti Host (Jangan masukan huruf setelah tanda <-- atau --> dan tidak
bercetak tebal)
#sudo nano /etc/hosts
<-- Tambahkan di bawah 127.0.0.1 -->
127.0.0.1 worker1
192.168.139.131 master1 <-- Ini IP worker yang kita setting setelah
ini
(PENTING) REBOOT kedua VM
6. 7. Setelah menjalankan VM buka Terminal semacam (Secure CRT, Putty ,
HyperTerminal Dll)
Disini saya menggunkan SecureCRT
Login ke dua VM dan lakukan
#sudo su -
(Masukan Password user)
Pastikan Docker sudah ada di masing2 VM
#docker -v
Output : Docker version 18.03.1-ce, build 9ee9f40
Tambahan jika ingin setting firewall untuk buka Port (untuk demo tidak perlu)
Contoh : sudo ufw allow 2376/tcp && sudo ufw allow 7946/udp && sudo ufw allow
7946/tcp && sudo ufw allow 80/tcp && sudo ufw allow 2377/tcp && sudo ufw
allow 4789/udp
(Penting) Lakukan ini hanya di master
#docker swarm init
Output :
Swarm initialized: current node (zd03rhbj5n27uye6jlwjer4v5) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-
6a9l0halisl3mg3fzo3lkei1cgybm2mxgdow8at1ncui3d1958-
7ijmhit0f3n70q2ids3tdqgq8 192.168.139.131:2377
WORKER 1
^^ Copy yang huruf tebal dan berwarna biru diatas ^^ dan jalan kan di worker1
Maka Output di Worker
Output : This node joined a swarm as a worker.
7. Dan Docker Swarm sudah terinstall di kedua tempat,
Sekarang saatnya menginstall portainer untuk Swarm
Buka browser https://portainer.io/install.html
Jalan kan hanya di Master1
#docker volume create portainer_data
#docker service create
--name portainer
--publish 9000:9000
--replicas=1
--constraint 'node.role == manager'
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock
--mount type=volume,src=portainer_data,dst=/data
portainer/portainer
-H unix:///var/run/docker.sock
Setelah sukses maka buka browser http://{IP Server Master/Worker}:9000
Maka untuk pertama kali isikan password
9. OK untuk sekarang kita akan install MariaDB Galera khusus Docker Swarm,
karena dengan mariaDB biasa tidak bisa..
Caranya
#docker network create -d overlay mydbnet
#docker service create --name dbcluster
--network mydbnet
--replicas=1
--publish 3306:3306
--env DB_SERVICE_NAME=dbcluster
--env MYSQL_ROOT_PASSWORD=rootpass
--env MYSQL_DATABASE=mydb
--env MYSQL_USER=mydbuser
--env MYSQL_PASSWORD=mydbpass
toughiq/mariadb-cluster
Penjelasan
#docker network create -d overlay mydbnet <-- Ini Create Network Service
#docker service create --name dbcluster <-- Ini name dari Service
--network mydbnet <-- Ini konek ke network
--replicas=1 <-- Ini Jum
--publish 3306:3306 <-- Ini port external:internal
--env DB_SERVICE_NAME=dbcluster <-- nama service Name
--env MYSQL_ROOT_PASSWORD=rootpass <-- password Root
--env MYSQL_DATABASE=mydb <-- Nama database yang dibikin di
awal
--env MYSQL_USER=mydbuser <-- user database
--env MYSQL_PASSWORD=mydbpass <-- password user
toughiq/mariadb-cluster <-- nama Registry MariaDB
Dan setelah itu silahkan cek dengan aplikasi Mysql client masing2
Dalam hal ini saya coba navicat
Worker1