5장. HAProxy 사용
HAProxy는 OpenStack 서비스를 실행하는 컨트롤러에 트래픽을 로드 밸런싱하여 OpenStack에 고가용성 기능을 제공합니다. haproxy 패키지에는 로깅 기능 및 샘플 구성과 함께 동일한 이름의 systemd 서비스에서 시작되는 haproxy 데몬이 포함되어 있습니다. 앞에서 언급했듯이 Pacemaker는 HAProxy 서비스 자체를 고가용성 서비스(haproxy-clone)로 관리합니다.
HAProxy 구성 검증에 대한 자세한 내용은 KCS 솔루션 KCS 솔루션에서 haproxy.cfg가 openstack 서비스를 로드 밸런싱하도록 올바르게 구성되었는지 확인할 수 있습니다.
Red Hat OpenStack Platform 8에서 director는 haproxy 서비스를 활용하도록 여러 OpenStack 서비스를 구성합니다. 이는 /etc/haproxy/haproxy.cfg 파일에서 해당 서비스를 구성하여 수행합니다. 해당 파일의 각 서비스에 대해 다음을 확인할 수 있습니다.
- listen: 요청을 수신 대기하는 서비스의 이름입니다.
- bind: 서비스가 수신 대기 중인 IP 주소 및 TCP 포트 번호입니다.
- server: 서비스를 제공하는 각 서버의 이름, 서버의 IP 주소 및 수신 포트 및 기타 정보입니다.
director를 사용하여 Red Hat OpenStack Platform 8을 설치할 때 생성된 haproxy.cfg 파일은 HAProxy가 관리할 수 있는 19개의 다른 서비스를 식별합니다. haproxy.cfg 파일에 ceilometer listen 서비스가 구성된 방법의 예는 다음과 같습니다.
ceilometer 서비스의 HAProxy 설정의 예에서는 ceilometer 서비스가 제공되는 IP 주소와 포트를 식별합니다(172.16.0.10 및 192.168.1.150의 포트 8777). 172.16.0.10 주소는 오버클라우드 내에서 사용할 내부 API 네트워크(VLAN201)의 가상 IP 주소이며 192.168.1.150 가상 IP 주소는 오버클라우드 외부에서 API 네트워크에 대한 액세스를 제공하기 위해 외부 네트워크(VLAN100)에 있습니다.
HAProxy는 이 두 IP 주소에 대한 요청을 overcloud-controller-0 (172.16.0.13:8777), overcloud-controller-1 (172.16.0.14:8777) 또는 overcloud-controller-2 (172.16.0.15:8777)로 보낼 수 있습니다.
이러한 서버에 설정된 옵션을 사용하면 상태점검(확인)을 사용할 수 있으며 5개의 실패한 상태 점검(종료) 후에 서비스가 종료된 것으로 간주됩니다. 연속 두 개의 상태 점검 간격은 2000 밀리초 (또는 2 초) 로 설정됩니다. 2개의 성공적인 상태 점검(2개증가) 후 서버가 작동하는 것으로 간주됩니다.
다음은 컨트롤러 노드의 HAProxy에서 관리하는 서비스 목록입니다.
| ceilometer | cinder | glance_api | glance_registry |
| haproxy.stats | heat_api | heat_cfn | heat_cloudwatch |
| Horizon | keystone_admin | keystone_public | mysql |
| Neutron | nova_ec2 | nova_metadata | nova_novncproxy |
5.1. HAProxy 통계 링크 복사링크가 클립보드에 복사되었습니다!
director는 모든 HA 배포에서 기본적으로 HAProxy 통계 를 활성화합니다. 이 기능을 사용하면 HAProxy Stats 페이지에서 데이터 전송, 연결, 서버 상태 등에 대한 자세한 정보를 볼 수 있습니다.
director는 HAProxy Stats 페이지에 도달할 수 있는 IP:Port 주소도 설정합니다. 이 주소가 무엇인지 확인하려면 HAProxy가 설치된 노드의 /etc/haproxy/haproxy.cfg 파일을 엽니다. listen haproxy.stats 섹션에는 이 정보가 나열됩니다. 예를 들면 다음과 같습니다.
listen haproxy.stats bind 10.200.0.6:1993 mode http stats enable stats uri /
listen haproxy.stats
bind 10.200.0.6:1993
mode http
stats enable
stats uri /
이 경우 웹 브라우저에서 10.200.0.6:1993 을 가리키며 HAProxy 통계 페이지를 확인합니다.