반응형
rocky 9 기준
<오늘의 실습>
rocky9 1번 가상머신에서는 nginx1, nginx2, httpd1, httpd2 4대의 컨테이너를 생성합니다.
rocky9 2번 가상머신에서는 haproxy를 설치하고(컨테이너 아님) haproxy를 가상머신 1번의 4대의 웹서버 컨테이너의 로드 밸런스로 설정합니다.
그렇다면 전체 그림은 아래와 같이 정리가 됩니다.
nginx 및 httpd 시작페이지 변경하기
1. httpd index.html 수정하기
docker run -itd --name h1 httpd
docker exec -it h1 /bin/bash
데몬을 실행하는 도커에는 vi 편집기가 없기 때문에 아래와 같이 index.html 파일을 수정합니다.
cat > htdocs/index.html << END
<html>
<body>
<h1>
KSM-docker-http1
</h1>
</body>
</html>
END
내부에서 변환 잘 되었는지 확인하는 방법
curl 172.17.0.3 (도커 ip 주소)
2. nginx index.html 수정하기
방식의 httpd index.html 파일 수정한 것과 동일합니다.
다만, index.html 파일 위치는
/usr/share/nginx/html/index.html 입니다.
위치를 모르겠을 땐 nignx 도커의 /bin/bash 로 진입해서
find / -name index.html 로 찾아보면 경로가 나옵니다.
haproxy 설정하기
Haproxy 설정에 들어가서
vi /etc/haproxy/haproxy.cfg
프론트엔드와 백엔드의 포트 번호 및 ip 주소를 변경합니다.
아래 그림과 같이 만약 default_backend 에 이름을 ksm 으로 변경했다면, backend 부분에도 동일한 이름으로 변경해주어야 합니다.
haproxy를 가동시켜줍니다.
systemctl start haproxy
haproxy는 도커와 상관이 없으므로 방화벽을 열어주어야 합니다.
firewall-cmd --add-port=80/tcp
부하 분산이 라운드 로빈(round robin) 방식이므로
이렇게 순차적으로 백엔드로 연결된 웹서버에 접속이 됨을 확인할 수 있습니다.
반응형
'클라우드 기초 > 도커&컨테이너' 카테고리의 다른 글
docker export, import (도커 이미지 복사) (0) | 2023.06.18 |
---|---|
docker cp, diff, top, commit (0) | 2023.06.18 |
도커 run, exec, attach, inspect (0) | 2023.06.18 |
도커 네트워크 및 포트 포워딩 (0) | 2023.06.17 |
도커 cli 명령어 정리 (0) | 2023.06.16 |
댓글