Skip to main content

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.
  1. 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
    touch Dockerfile
    Tambahkan perintah berikut pada Dockerfile.
    FROM haproxy:1.7
    COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
    Selanjutnya build images haproxy.
    docker build -t haproxy .
    Output :


  2. 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 /docker
touch /docker/docker-compose.yml
Tambahkan perintah berikut pada docker-compose.yml.
version: '2'

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
Step 2 - Buat direktory untuk konfigurasi haproxy.
mkdir /docker/haproxy
touch /docker/haproxy/haproxy.cfg
Tambahkan perintah berikut pada file /docker/haproxy/haproxy.cfg.
global
    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
Step 3 - Jalankan docker compose.
docker-compose up -d
Output :

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/
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar