podman haproxy
- config
- podman compose
- Makefile
restart: down run log
run:
podman \
run \
--name=haproxy \
--detach \
--volume /home/mt2/containers/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg \
--net internal \
--publish 3001:3001 \
--publish 3306:3306 \
--publish 3307:3307 \
--publish 8080:8080 \
--log-driver journald \
haproxy:2.9.2-alpine3.19
stop:
podman stop haproxy
down:
podman rm -f haproxy
log:
podman logs -f haproxy
sys-gen:
podman generate systemd haproxy
sys-edit:
systemctl edit --user --full --force haproxy.service
sys-restart:
systemctl --user restart haproxy
sys-reload:
systemctl --user daemon-reload
systemctl --user enable --now haproxy.service
sys-linger:
loginctl enable-linger
sys-remove:
systemctl --user stop haproxy
systemctl --user disable haproxy
systemctl --user daemon-reload
systemctl --user reset-failed
- haroxy.cfg
global
log stdout format raw local0 debug
maxconn 4096
#log 127.0.0.1 local2
# chroot /var/lib/haproxy
# pidfile /var/run/haproxy.pid
# user haproxy
# group haproxy
# daemon
defaults
log global
option tcplog
option dontlognull
retries 3
timeout connect 3s
timeout client 1m
timeout server 1m
listen MariaDbAccessMaster
bind *:3306
mode tcp
stick match src
stick-table type ip size 200k expire 30m
stick on dst
option mysql-check user mysql_haproxy_ck
# 10.10.10.4 master일때
server mariadb-master 172.30.1.101:3306 check on-marked-down shutdown-sessions
server mariadb-slave 172.30.1.111:3306 check on-marked-down shutdown-sessions backup
# 10.10.10.5 master일때
# server mariadb-master 172.30.1.111:3306 check on-marked-down shutdown-sessions
# server mariadb-slave 172.30.1.101:3306 check on-marked-down shutdown-sessions backup
listen MariaDbAccessSlave
bind *:3307
mode tcp
option mysql-check user mysql_haproxy_ck
# 10.10.10.5 slave일때
server mariadb-slave 172.30.1.111:3306 check on-marked-down shutdown-sessions
server mariadb-master 172.30.1.101:3306 check on-marked-down shutdown-sessions backup
# 10.10.10.4 slave일때
# server mysql-slave 172.30.1.101:3306 check on-marked-down shutdown-sessions
# server mysql-master 172.30.1.111:3306 check on-marked-down shutdown-sessions backup
# MARIADB 외부 접근
listen ExternalAccess
bind *:3001
server AccessVirtualIp 10.10.10.102:3306
listen stats
bind *:8080
mode http
stats enable
stats uri /
stats realm Strictly\ Private
stats auth nanoit:admin