본문 바로가기

Linux/Docker

33. CentOS7 : Container를 이용하여 Load Balancer 환경 구성

1. 문제 설명

Docker에 Bridge Network 3개를 생성

  1. net1: 192.168.101.0/24 Gateway는 마지막 IP 주소
    • Nginx 웹 서버 실행
    • Container-WEBSERVER-1 이란 메시지와 함께 Ncloud Object Storage 제공하는 그림1 출력
  2. net2: 192.168.102.0/24 Gateway는 마지막 IP 주소
    • Apache 웹 서버 실행
    • Container-WEBSERVER-2 이란 메세지와 함께 Ncloud Object Storage 제공하는 그림2 출력
  3. net3: 192.168.103.0/24 Gateway는 마지막 IP 주소
    • Nginx 웹 서버 실행
    • Container-WEBSERVER-3 이란 메세지와 함께 Ncloud Object Storage 제공하는 그림3 출력
  4. net4: 192.168.104.0/24 Gateway는 마지막 IP 주소
    • Apache 웹 서버 실행
    • Container-WEBSERVER-4 이란 메세지와 함께 Ncloud Object Storage 제공하는 그림4 출력

실제 PC 브라우저에서 Docker를 서비스하는 가상머신의 IP를 입력 후 새로고침 시 위 4개의 사이트가 순차적으로 나타나야 합니다.


2. 구성하기

2.1. 컨테이너 구성

※ network 생성


※ nginx, httpd 컨테이너 생성

  • net1 : n1 (nginx)
  • net2 : h1 (httpd)
  • net3 : n2 (nginx)
  • net4 : h2 (httpd)


※ docker inspect n1


※ docker inspect h1


※ docker inspect n2


※ docker inspect h2

2.2. Ncloud Bucket에 이미지 업로드

NAVER CLOUD PLATFORM

cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

www.ncloud.com


※ ncloud 좌측 상단에 콘솔로 이동


※ Services → Storage → Object Storage


※ Subscription → Object Storage 이용 신청


※ Bucket Management → 버킷 생성


※ 버킷 이름 설정 후 별 다른 설정 없이 다음 클릭하여 버킷 생성


※ 생성한 버킷 클릭 후 파일 올리기


※ 업로드할 이미지 선택 후 전송 시작


※ 업로드된 이미지 확인


※ 이미지 클릭 → 권한 관리


※ 전체 공개로 권한 수정 (모든 이미지 동일하게 진행)

2.3. nginx, httpd 컨테이너 웹 페이지 설정

※ ncloud 버킷에서 웹 페이지에 적용할 이미지 링크 복사


※ 각 컨테이너에 적용할 html 파일 생성 (img src에는 위에서 복사한 이미지 링크를 넣는다.)


※ 각 컨테이너 웹페이지 경로에 html 파일 넣기

2.4. Proxy 설정

※ haproxy 설치


※ haproxy 설정 파일 수정
# vi /etc/haproxy/haprox.cfg


※ haproxy 실행


※ firewalld 실행 중이라면 80 포트 방화벽 오픈
# firewall-cmd --peramanent --add-port=80/tcp
# firewall-cmd --reload

2.5. 웹 페이지 파일 내용 확인

※ curl 명령어 이용하여 웹 페이지 소스 내용 정상적으로 출력되는지 확인

  • 웹 페이지가 정상적으로 서비스 중이라면 내용이 정상적으로 출력된다/

2.6. VMware Port Forwarding

※ Host PC IP로 접속하기 위해서는 VMware 포트 포워딩이 필요

2.7. Host PC(Test PC) 방화벽 설정

※ 웹 브라우저 접속 테스트를 진행할 PC의 80/tcp 포트 방화벽을 오픈한다.

2.8. 웹 브라우저 접속 테스트 진행

※ Host PC IP 입력하여 접속 테스트 진행

  • Load Balancer 환경으로 구성하였기 때문에 새로고침 시 4개의 페이지가 순차적으로 번갈아가면서 접속되는지 확인