Setup High Availability Web Service Dengan Docker Haproxy
Setup High Availability Web Service - Hallo sahabat opreker, pada artikel sebelumnya www.dimasrio.com sudah menjelaskan bagimana cara menciptakan web service memakai docker. Pada kesempatan kali ini, saya akan mencoba sedikit berbagi artikel sebelumnya adalah dengan menciptakan high availability web service dengan haproxy. Oke sobat, berikut yang sahabat harus persiapkan.
- Download (pull) docker images nginx dan haproxy.
docker pull nginx
Untuk download images haproxy caranya sedikit berbeda. Karena images haproxy memerlukan file haproxy.cfg maka kita perlu menciptakan Dockerfile ketika pull images haproxy.touch haproxy.cfg
Tambahkan perintah berikut pada Dockerfile.
touch Dockerfile
FROM haproxy:1.7
Selanjutnya build images haproxy.
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
docker build -t haproxy .
Output :
- Install docker compose.
Jika kedua tahap di atas sudah final dilakukan maka lanjut pada konfigurasi.
Konfigurasi High Availability Web Service
Step 1 - Buat direktory untuk docker compose.
mkdir /dockerTambahkan perintah berikut pada docker-compose.yml.
touch /docker/docker-compose.yml
version: '2'Step 2 - Buat direktory untuk konfigurasi haproxy.
services:
nginx_01:
container_name: web01
image: nginx
restart: always
volumes:
- ./nginx/www01:/usr/share/nginx/html/:rw
nginx_02:
container_name: web02
image: nginx
restart: always
volumes:
- ./nginx/www02:/usr/share/nginx/html/:rw
load_balance:
container_name: load_balance
image: haproxy
restart: always
ports:
- 8082:8082
- 8080:80
links:
- nginx_01
- nginx_02
volumes:
- ./haproxy/:/usr/local/etc/haproxy/:rw
mkdir /docker/haproxyTambahkan perintah berikut pada file /docker/haproxy/haproxy.cfg.
touch /docker/haproxy/haproxy.cfg
globalStep 3 - Jalankan docker compose.
log 127.0.0.1 local2 info
maxconn 512
daemon
defaults
mode http
log global
option httplog
timeout connect 10s
timeout client 30s
timeout server 30s
frontend http-in
bind *:80
default_backend http_backend
option forwardfor
backend http_backend
balance roundrobin
server www01 web01:80 check
server www02 web02:80 check
frontend stats
bind *:8082
stats enable
stats auth admin:admin
stats hide-version
stats show-node
stats refresh 15s
stats uri /stats
docker-compose up -dOutput :
Sampai di sini sahabat sudah dapat menambahkan script html, sebagai rujukan buat script index.html sederhana pada folder www01 dan www02 pada direktory /docker/nginx/.
Output:
Demikian tutorial docker kali ini mengenai simple setup high availability web service dengan docker haproxy. Semoga bermanfaat bagi kita semua dan selamat mencoba..!!!
Sumber http://www.dimasrio.com/


