Keepalived မိတ်ဆက် – အပိုင်း (၂)

$ sudo apt update && sudo apt install -y haproxy keepalived
$ sudo systemctl enable haproxy keepalived
$ sudo systemctl start haproxy keepalived
$ sudo vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
frontend myweb
bind *:80
option tcplog
mode tcp
default_backend web-servers
backend web-servers
mode tcp
balance roundrobin
option tcp-check
server web1 192.168.56.11:80 check fall 3 rise 2
server web2 192.168.56.12:80 check fall 3 rise 2
$ vim /etc/keepalived/keepalived.conf
# define the script used to check if haproxy is still working
vrrp_script chk_haproxy {
script “killall -0 haproxy”
interval 2
weight 2
}
# configuation for the virtual interface
vrrp_instance vi_1 {
interface eth1
state master
priority 101
advert_int 2
virtual_router_id 101
unicast_src_ip 192.168.56.21
unicast_peer {
192.168.56.22
}
authentication {
auth_type PASS
auth_pass mylittlesecret
}
# the virtual ip address shared between the two loadbalancers
virtual_ipaddress {
192.168.56.69
}
# use the script above to check if we should fail over
track_script {
chk_haproxy
}
}
$ sudo systemctl restart haproxy keepalivedLast updated
