플랫폼 설치 자동화 가이드(CLOUDIT PORTAL)
Table of Contents
Deprecated
※ 본 문서는 PaaS-TA 5.0.1 이하의 버전까지 지원한다.
1. 문서 개요
1.1. 목적
본 문서는 CLI 기반으로 PaaS-TA 사용자 포털을 구축하는 절차에 대해 기술하였다.
1.2. 범위
본 문서에서는 Cloudit 인프라 환경에서 Kubernetes 기반의 PaaS-TA 사용자 포털을 설치하는 방법에 대해 작성되었다.
2. 플랫폼 설치 가이드
BOSH는 클라우드 환경에 서비스를 배포하고 소프트웨어 릴리즈를 관리해주는 오픈 소스로 Bootstrap은 하나의 VM에 설치 관리자의 모든 컴포넌트를 설치한 것으로 PaaS-TA 사용자 포털 설치를 위한 관리자 기능을 담당한다. Cloudit 환경의 Bootstrap은 물리적인 하나의 VM이 아닌 컨테이너 기반으로 동작한다.
Cloudit 클라우드 환경에 PaaS-TA포털을 설치하기 위해서는 인프라 설정, 스템셀 소프트웨어 릴리즈, Manifest 파일, 인증서 파일 5가지 요소가 필요하다. 스템셀은 클라우드 환경에 VM을 생성하기 위해 사용할 기본 이미지이고, 소프트웨어 릴리즈는 VM에 설치할 소프트웨어 패키지들을 묶어 놓은 파일이고, Manifest파일은 스템셀과 소프트웨어 릴리즈를 이용해서 서비스를 어떤 식으로 구성할지를 정의해 놓은 명세서이다. 다음 그림은 BOOTSTRAP을 이용하여 PaaS-TA 사용자 포털을 설치하는 절차이다.
2.1 인프라 설정
※ BOSH 및 PaaS-TA 설치(CLOUDit) 2.1 인프라 설정 참조
1. Cloudit 로드밸런서 생성 – HAProxy배포 VM (2.4.5. PaaS-TA 사용자 포털 배포 이후 진행) – 네트워크
1.1. 로드밸런서 생성 중 Router 또는 HAProxy가 배포된 VM을 멤버로 등록시엔 다음과 같은 포트로 구성한다
대상 | 용도 | LB 포트 | 서버 포트 | 비고 |
HAProxy가 배포된 VM | 포털 | 80 | 30602 | |
유레카 | 2221 | 30702 |
1.2. Cloudit 포탈에 접속한다. 접속 주소: https://www.cloudit.co.kr 1.3. 네트워크 메뉴를 클릭한다. 1.4. 로드밸런싱 메뉴를 클릭한다. 1.5. 로드밸런싱 화면에서 “Create” 버튼을 클릭한다.
※ 이름 : 로드밸런서 이름 입력 포트 : 로드밸런서 Port 입력 (상단 1.1 포트 구성표의 LB 포트 항목 참조) 유형 : 로드밸런서 IP 종류 선택 (External : 로드밸런싱에서 이용할 Public VIP로 지정하여 사용 Internal : 로드밸런싱 서브넷에서 사용) IP : 로드밸런서의 IP 이며 동일 IP로 여러 개의 Port 설정 가능하다. 해당 샘플에서는 Router 또는 HAProxy가 배포된 VM에 부여할 로드밸런싱 IP를 선택한다. 프로토콜 : TCP 또는 HTTP 프로토콜 정책 : 4가지 Load Balancing 정책 중 선택
Round Robin : 순차적으로 세션을 연결하는 정책, 거의 균등한 부하 분산이 가능하나 세션 유지 불가능 Least Connection : 세션 요구량이 적은 쪽으로 신규 세션을 연결해주는 정책 Source Hash : 출발지의 IP 주소를 기반으로 Hash를 계산하여 항상 같은 목적지로 세션을 연결해주는 정책 Destination Hash : 목적지의 IP 주소를 기반으로 Hash를 계산하여 항상 같은 출발지와 세션을 연결해주는 정책 |
※ 모니터 타입 : 상태 체크 프로토콜 선택 http 경로 : 모니터 타입이 HTTP인 경우 상태 체크 할 URL 입력 응답대기 시간 : 로드밸런싱 응답 대기 시간 입력 정상 판단 횟수 : 응답 대기 시간 동안 응답하지 않을 때 정상 판단 횟수 상태 확인 주기(초) : 로드밸런싱 상태 확인 주기 비정상 판단 횟수 : 상태 확인 주기동안 응답하지 않은 때 비정상 판단 횟수 서버 IP : 로드밸런싱 정책에 의해 작동 될 물리 VM의 IP선택 서버 포트 : 로드밸런싱 정책에 의해 작동 될 물리 VM의 Port 선택 (상단 1.1 포트 구성표의 서버 포트 항목 참조)
2.2. 스템셀과 릴리즈
2.2.1. PaaS-TA 사용자 포털 스템셀
Cloudit의 Kubernetes 환경에 배포 가능한 PaaS-TA 버전은 아래와 같다. 아래의 릴리즈 버전으로 다운로드&업로드 및 설치한다.
릴리즈 | 스템셀 |
paasta/4.0 | https://s3.amazonaws.com/bosh-core-stemcells/warden/bosh-stemcell-3468.51-warden-boshlite-ubuntu-trusty-go_agent.tgz |
https://s3.amazonaws.com/bosh-core-stemcells/warden/bosh-stemcell-3468.21-warden-boshlite-ubuntu-trusty-go_agent.tgz |
2.3. BOOTSTRAP 및 PaaS-TA 설치하기
BOSH 및 PaaS-TA 설치(CLOUDit) 2.3 BOOTSTRAP 설치하기 참조 BOSH 및 PaaS-TA 설치(CLOUDit) 2.4. CF-Deployment 배포하기 참조
2.4. PaaS-TA 사용자 포털 배포하기
2.4.1. PaaS-TA 사용자 포털 스템셀 업로드
URL을 통해 bosh-stemcell-3468.51-warden-boshlite-ubuntu-trusty-go_agent.tgz, bosh-stemcell-3468.21-warden-boshlite-ubuntu-trusty-go_agent.tgz 스템셀을 다운로드 후에 해당 스템셀을 Bosh에 업로드한다.
1. PaaS-TA 사용자 포털 스템셀
1.1 PaaS-TA 사용자 포털 스템셀 참조 사이트
인프라 환경 | 참조 사이트 및 참조 Manifest |
paasta/4.0 | |
1.2 스템셀을 다운로드 후 Bosh에 업로드 한다.
# 아래 명령어를 통해 스템셀을 다운로드 한다.
# 아래 명령어를 통해 스템셀을 업로드 한다.
1.3 정상적으로 스템셀이 업로드 되었는지 확인한다. # 업로드 된 스템셀을 확인한다.
2.4.2. PaaS-TA 사용자 포털 릴리즈 업로드
PaaS-TA 사용자 포털 릴리즈를 다운로드 후 bosh에 릴리즈 생성 후 릴리즈를 업로드 한다.
1. PaaS-TA 사용자 포털 릴리즈
1.1 PaaS-TA 사용자 포털 릴리즈 참조 사이트
릴리즈명 | 참조 사이트 및 참조 Manifest |
paasta/4.0 | https://github.com/PaaS-TA/PAAS-TA-PORTAL-RELEASE의 v4.0-container Branch |
소스를 통해 릴리즈를 생성한다. |
1.2. 아래의 Git Repository 경로를 통해 PaaS-TA 사용자 포털 Release for container를 생성하기 위한 소스를 다운로드 받는다.
2. PaaS-TA 사용자 포털 Release for container 생성
2.1. 릴리즈를 생성한다. # PaaS-TA 사용자 포털 for Container 릴리즈 생성
3. PaaS-TA 사용자 포털 릴리즈 Bosh에 업로드
3.1. 준비된 릴리즈를 Bosh에 업로드 한다.
1.2. 릴리즈가 정상적으로 업로드 되었는지 확인한다.
2.4.3. Routing Service 설정
PaaS-TA 사용자 포털을 배포하기 전 Routing Service를 설정한다.
1. Routing Service인 Portal-Proxy-External 생성
1.1. Portal-Proxy-External Service를 생성한다. # 포털에 접근하기 위한 Routing Service인 portal-proxy-external.yaml 파일 확인
※ http-proxy, eureka의 NodePort 정보 확인 http-proxy, eureka에 대한 NodePort를 확인하여 PaaS-TA 사용자 포털 배포 이후 로드밸런서와 연결한다.
# 관련 내용은 2.1.1 인프라 설정의 Cloudit 로드밸런서 생성 설정을 참조한다. # Routing Service를 생성한다.
1.2. Portal-External Service가 생성되었는지 확인한다. # portal-proxy와 eureka에 대한 NodePort를 확인한다.
# portal-proxy와 eureka에 대한 NodePort를 상세 확인한다.
2.4.4. PaaS-TA 사용자 포털 배포 전 사전 점검
PaaS-TA 사용자 포털 배포 전 배포되는 릴리즈, IaaS 관련 Network/Storage/VM 관련 설정들을 정의하는 Cloud-Config 등의 Manifest 사전 점검을 한다.
1. PaaS-TA 사용자 포털 릴리즈 버전 점검
1.1 PaaS-TA 사용자 포털 Manifest를 확인한다. # 아래 명령어를 통해 Manifest 내용을 점검한다.
2. Cloud-config의 vm_extensions 점검
2.1 Cloud-config 내용을 확인한다. # 아래 명령어를 통해 cloud-config의 vm_extensions 항목의 내용을 확인한다.
3. UAA portalclient 생성
3.1 portalclient를 생성한다.
# admin_client_secet은 {PaaS-TA-Project}/cf-kubernetes/creds.yml 에서 확인 가능하다.
※ 옵션에 대한 정보는 다음과 같다 --name 은 client의 이름이다. --redirect_uri의 ip주소는 user-portal이 사용할 로드밸런서의 IP가 된다. --secret은 client가 사용할 secret 명이다.
# portalclient를 확인한다.
2.4.5. PaaS-TA 사용자 포털 배포
PaaS-TA 포털을 설치하기 전 배포 관련된 각종 환경들을 스크립트에 설정 후 PaaS-TA 사용자 포털을 설치한다.
1. Kubernetes Cluster에 PaaS-TA 사용자 포털 배포
1.1. PaaS-TA 사용자 포털을 배포하기 위한 정의파일과 옵션에 대해 수행 스크립트를 작성한다.
# PaaS-TA 사용자 포털 배포를 위한 스크립트를 다음과 같이 정의한다.
※ 스크립트의 옵션 정보는 다음과 같다.
스크립트에 대한 실행 권한을 부여한다.
1.2. PaaS-TA 사용자 포털을 배포한다.
PaaS-TA 사용자 포털 배포 스크립트를 수행한다.
PaaS-TA 사용자 포털 배포를 실행하고 배포 진행 과정에 대해 정상적으로 배포가 수행되는지 로그를 필히 확인한다.
2. Cloudit 로드밸런싱 설정
2.1. PaaS-TA 사용자 포털 배포 이후 사용자 및 운영자 포털을 접속하기 위해 HAProxy가 배포된 VM을 확인한다. # bosh를 통해 배포되어 사용중인 VM을 확인한다.
아래 명령어를 통해 위에서 얻은 VM CID 값으로 haproxy가 어느 Worker node에 배포되었는지 확인한다. 아래 예제의 경우는 NODE 컬럼을 통해 paasta-4 node에 haproxy가 배포 되어 있는 것을 확인할 수 있다.
2.2. Cloudit 로드밸런서 생성에 따라 로드밸런싱 설정을 확인한다. ※ 2.1.5 Cloudit 로드밸런서 생성 – HAProxy 배포 VM
※ 로드밸런싱 설정 시 다음의 정보를 따른다. 1. 로드밸런서의 IP는 PaaS-TA 사용자 포털 배포시 사용했던 haproxy_public_ip의 IP주소를 입력한다. 2. 로드밸런서 구성 요소 중 서버IP 항목의 물리 VM은 haproxy가 배포된 VM을 지정한다. 3. 로드밸런서 구성 요소 중 멤버 항목의 서버포트에 대한 정보는 portal-proxy-ingress 항목을 참고한다. 80(proxy)과 2221(eureka)에 대한 nodePort를 지정한다.
ingress 정보 확인 # 80과 2221 포트와 매핑 된 NodePort에 대해 로드밸런싱 포트를 추가한다. # 아래 예제에선 80:30602/TCP의 내용과 2221:30702/TCP의 내용이 여기에 해당된다.
3. 최종 포털 사용을 위한 Service 확인
3.1. 등록된 Service를 확인한다. 아래 명령어를 통해 등록된 Service가 다음과 같은지 확인한다.
4. PaaS-TA 사용자 포털 접속
4.1. PaaS-TA 사용자 포털에 접속한다. 아래 명령어를 통해 배포된 PaaS-TA 사용자 포털에 접속한다. PaaS-TA 사용자 포털 배포 후 등록했던 로드밸런서 IP를 입력하거나 도메인 주소를 입력한다. Public IP와 매핑이 되어 있다면, 브라우저를 통해 Public IP로 접속을 한다
5. PaaS-TA 운영자 포털 접속
5.1. PaaS-TA 운영자 포털에 접속한다. 아래 명령어를 통해 배포된 PaaS-TA 운영자 포털에 접속한다. PaaS-TA 사용자 포털 배포 후 등록했던 로드밸런서 IP를 입력한다. Public IP와 매핑이 되어 있다면, 브라우저를 통해 Public IP로 접속을 한다
6. 관리용 Eureka 접속
6.1. Eureka web에 접속한다. 아래 명령어를 통해 Eureka web에 접속한다. PaaS-TA 사용자 포털 배포 후 등록했던 로드밸런서 IP를 입력한다. Public IP와 매핑이 되어 있다면, 브라우저를 통해 Public IP로 접속을 한다
위와 같이 Application 목록의 URL이 표시되어야 한다.
Last updated