Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

클라우드팡

Load Balancer 설치 - HAProxy 본문

OpenShift Container Platform/지원시스템 준비 - Disconnected environment

Load Balancer 설치 - HAProxy

cloudpang 2023. 5. 20. 17:38

Openshift 4.x UPI 설치의 경우 외부 로드 밸런서가 필요합니다.

설정에 대한 내용은 다음 문서를 참고 하세요.

https://access.redhat.com/articles/5127211

 

An Example of Proper Load-Balancer Configuration for OpenShift 4.x Installation (API, API-Internal, Ingress) - Red Hat Customer

For Openshift 4.x UPI installs, an external Load-Balancer is required. The OpenShift documentation provided here includes the information for frontend to backend ingress traffic flow. This article provides an example of a basic HAProxy Load-Balancer suitab

access.redhat.com

 

1. HAProxy를 설치 합니다.

yum install -y haproxy

systemctl enable haproxy.service

 

2. /etc/haproxy/haproxy.cfg 파일에 로드 밸런싱 대상을 설정 합니다.

   라우터가 실행 되는 노드를 확인하고 설정 합니다.

if [[ ! -f /etc/haproxy/haproxy.cfg.orig ]]; then
  mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.orig
fi

cat <<EOF > /etc/haproxy/haproxy.cfg
global
  log         127.0.0.1 local2
  pidfile     /var/run/haproxy.pid
  maxconn     4000
  daemon

defaults
  mode                    http
  log                     global
  option                  dontlognull
  option http-server-close
  option                  redispatch
  retries                 3
  timeout http-request    10s
  timeout queue           1m
  timeout connect         10s
  timeout client          1m
  timeout server          1m
  timeout http-keep-alive 10s
  timeout check           10s
  maxconn                 3000

frontend stats
  bind *:1936
  mode            http
  log             global
  maxconn 10
  stats enable
  stats hide-version
  stats refresh 30s
  stats show-node
  stats show-desc Stats for ocp4 cluster
  stats auth admin:ocp4
  stats uri /stats

listen api-server-6443
  bind *:6443
  mode tcp
  server bootstrap bootstrap.cloudpang.tistory.local:6443 check inter 1s
  server master01  master01.cloudpang.tistory.local:6443 check inter 1s
  server master02  master02.cloudpang.tistory.local:6443 check inter 1s
  server master03  master03.cloudpang.tistory.local:6443 check inter 1s

listen machine-config-server-22623
  bind *:22623
  mode tcp
  server bootstrap bootstrap.cloudpang.tistory.local:22623 check inter 1s
  server master01  master01.cloudpang.tistory.local:22623 check inter 1s
  server master02  master02.cloudpang.tistory.local:22623 check inter 1s
  server master03  master03.cloudpang.tistory.local:22623 check inter 1s

listen ingress-router-443
  bind *:443
  mode tcp
  balance source
  server master01  master01.cloudpang.tistory.local:443 check inter 1s
  server master02  master02.cloudpang.tistory.local:443 check inter 1s
  server master03  master03.cloudpang.tistory.local:443 check inter 1s
  server worker01  worker01.cloudpang.tistory.local:443 check inter 1s
  server worker02  worker02.cloudpang.tistory.local:443 check inter 1s
  server worker03  worker03.cloudpang.tistory.local:443 check inter 1s

listen ingress-router-80
  bind *:80
  mode tcp
  balance source
  server master01  master01.cloudpang.tistory.local:80 check inter 1s
  server master02  master02.cloudpang.tistory.local:80 check inter 1s
  server master03  master03.cloudpang.tistory.local:80 check inter 1s
  server worker01  worker01.cloudpang.tistory.local:80 check inter 1s
  server worker02  worker02.cloudpang.tistory.local:80 check inter 1s
  server worker03  worker03.cloudpang.tistory.local:80 check inter 1s
EOF

 

3. HAProxy를 서비스 합니다.

chcon --reference=/etc/haproxy/haproxy.cfg.orig /etc/haproxy/haproxy.cfg

semanage port -a -t http_port_t -p tcp 1936
semanage port -a -t http_port_t -p tcp 6443
semanage port -a -t http_port_t -p tcp 22623

firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-port=1936/tcp --add-port=6443/tcp --add-port=22623/tcp --zone=public
firewall-cmd --reload

systemctl start haproxy.service

netstat -anp |grep LISTEN |grep -v unix |grep tcp |grep -v tcp6