본 문서는 PaaS-TA 5.5.0(이하 PaaS-TA)을 수동으로 설치하기 위한 가이드를 제공하는 데 그 목적이 있다.
1. 문서 개요
1.1 목적
본 문서는 Inception 환경(설치환경)에서 BOSH2(이하 BOSH) 설치 후, BOSH를 기반으로 Monitoring을 적용한 PaaS-TA를 설치하기 위한 가이드를 제공하는 데 그 목적이 있다.
1.2 범위
본 문서는 cf-deployment v13.19.0을 기준으로 작성되었다.
PaaS-TA는 bosh-deployment를 기반으로 한 BOSH 환경에서 설치한다.
PaaS-TA 설치 시 필요한 Stemcell은 기존 ubuntu-xenial-621.78에서 ubuntu-xenial-621.94로 변경되었다.
PaaS-TA는 VMware vSphere, Google Cloud Platform, Amazon Web Services EC2, OpenStack, Microsoft Azure 등의 IaaS를 지원한다.
현재 PaaS-TA 5.5.0에서 검증한 IaaS 환경은 AWS, OpenStack 환경이다.
1.3 참고 자료
본 문서는 Cloud Foundry의 BOSH Document와 Cloud Foundry Document를 참고로 작성하였다.
2. PaaS-TA 5.5.0
PaaS-TA는 BOSH를 기반으로 설치된다. BOSH CLI를 사용하여 BOSH를 생성한 후, paasta-deployment로 PaaS-TA를 배포한다.
PaaS-TA 3.1 버전까지는 PaaS-TA Container, Controller를 각각의 deployment로 설치했지만, PaaS-TA 3.5 버전부터 paasta-deployment 하나로 통합되었으며, 한 번에 PaaS-TA를 설치한다.
3. PaaS-TA 5.5.0 설치
3.1. Prerequisite
BOSH2 기반의 BOSH를 설치한다.
PaaS-TA 설치는 BOSH를 설치한 Inception(설치 환경)에서 작업한다.
3.2. 설치 파일 다운로드
PaaS-TA를 설치하기 위한 deployment가 존재하지 않는다면 다운로드 받는다
$ mkdir -p ~/workspace/paasta-5.5.0/deployment
$ cd ~/workspace/paasta-5.5.0/deployment
$ git clone https://github.com/PaaS-TA/common.git
$ cd ~/workspace/paasta-5.5.0/deployment
$ git clone https://github.com/PaaS-TA/paasta-deployment.git -b v5.5.0
# paasta-deployment/paasta/ 경로에
# ./operations/addons/(enable-component-syslog.yml, paasta-monitoring-agent.yml) 와 deployment-{IaaS}-monitoring.sh 가 없을 경우
# 아래 예제대로 monitoring-deployment 를 git clone 받아 복사하여 놓는다.
$ git clone https://github.com/PaaS-TA/monitoring-deployment.git -b v5.5.0 # v5.5.0 monitoring-deployment 구성
3.3. Stemcell 업로드
Stemcell은 배포 시 생성되는 PaaS-TA VM Base OS Image이며, PaaS-TA 5.5.0은 Ubuntu xenial stemcell 621.94를 기반으로 한다.
기본적인 Stemcell 업로드 명령어는 다음과 같다.
$ bosh -e ${BOSH_ENVIRONMENT} upload-stemcell {URL}
PaaS-TA 5.5.0은 Stemcell 업로드 스크립트를 지원하며, BOSH 로그인 후 다음 명령어를 수행하여 Stemcell을 올린다.
BOSH_ENVIRONMENT는 BOSH 설치 시 사용한 Director 명이고, CURRENT_IAAS는 배포된 환경 IaaS(aws, azure, gcp, openstack, vsphere, 그외 입력시 bosh-lite)에 맞게 입력을 한다.
(PaaS-TA에서 제공되는 create-bosh-login.sh을 이용하여 BOSH LOGIN시 BOSH_ENVIRONMENT와 CURRENT_IAAS는 자동입력된다.)
Stemcell 업로드 Script의 설정 수정 (BOSH_ENVIRONMENT 수정)
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh/upload-stemcell.sh
#!/bin/bash
STEMCELL_VERSION=621.94
CURRENT_IAAS="${CURRENT_IAAS}" # IaaS Information (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 aws/azure/gcp/openstack/vsphere 입력)
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
if [[ ${CURRENT_IAAS} = "aws" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-aws-xen-hvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "azure" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://bosh-core-stemcells.s3-accelerate.amazonaws.com/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-azure-hyperv-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "gcp" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://bosh-core-stemcells.s3-accelerate.amazonaws.com/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-google-kvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "openstack" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-openstack-kvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "vsphere" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-vsphere-esxi-ubuntu-xenial-go_agent.tgz -n
else
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell https://s3.amazonaws.com/bosh-core-stemcells/${STEMCELL_VERSION}/bosh-stemcell-${STEMCELL_VERSION}-warden-boshlite-ubuntu-xenial-go_agent.tgz -n
fi
Stemcell 업로드 Script 실행
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh
$ source upload-stemcell.sh
만약 오프라인 환경에 저장한 스템셀을 사용 하고 싶다면, Stemcell을 저장 한 뒤 경로를 설정 후 Stemcell 업로드 Script를 실행한다.
# 폴더 생성 및 이동
$ mkdir -p ~/workspace/paasta-5.5.0/stemcell/paasta
$ cd ~/workspace/paasta-5.5.0/stemcell/paasta/
# 개별 Stemcell 다운로드
## AWS의 경우
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-aws-xen-hvm-ubuntu-xenial-go_agent.tgz
## AZURE의 경우
$ wget https://bosh-core-stemcells.s3-accelerate.amazonaws.com/621.94/bosh-stemcell-621.94-azure-hyperv-ubuntu-xenial-go_agent.tgz
## GCP의 경우
$ wget https://bosh-core-stemcells.s3-accelerate.amazonaws.com/621.94/bosh-stemcell-621.94-google-kvm-ubuntu-xenial-go_agent.tgz
## OPENSTACK의 경우
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-openstack-kvm-ubuntu-xenial-go_agent.tgz
## VSHPERE의 경우
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-vsphere-esxi-ubuntu-xenial-go_agent.tgz
## BOSH-LITE의 경우
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-warden-boshlite-ubuntu-xenial-go_agent.tgz
# 통합 다운로드의 경우
$ cd ~/workspace/paasta-5.5.0
$ wget https://nextcloud.paas-ta.org/index.php/s/RLgPANn7LNmGrqP/download --content-disposition
$ unzip stemcell.zip
오프라인 Stemcell 업로드 Script의 설정 수정 (BOSH_ENVIRONMENT, STEMCELL_DIR 수정)
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh/offline-upload-stemcell.sh
#!/bin/bash
STEMCELL_VERSION=621.94
STEMCELL_DIR="/home/ubuntu/workspace/paasta-5.5.0/stemcell/paasta"
CURRENT_IAAS="${CURRENT_IAAS}" # IaaS Information (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 aws/azure/gcp/openstack/vsphere 입력, 미 입력시 bosh-lite)
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
if [[ ${CURRENT_IAAS} = "aws" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-aws-xen-hvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "azure" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-azure-hyperv-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "gcp" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-google-kvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "openstack" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-openstack-kvm-ubuntu-xenial-go_agent.tgz -n
elif [[ ${CURRENT_IAAS} = "vsphere" ]]; then
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-vsphere-esxi-ubuntu-xenial-go_agent.tgz -n
else
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-warden-boshlite-ubuntu-xenial-go_agent.tgz -n
fi
오프라인 Stemcell 업로드 Script 실행
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh
$ source offline-upload-stemcell.sh
3.4. Runtime Config 설정
Runtime config는 BOSH로 배포되는 VM에 적용되는 설정이다. 기본적인 Runtime Config 설정 명령어는 다음과 같다.
$ bosh -e ${BOSH_ENVIRONMENT} update-runtime-config {PATH} --name={NAME}
PaaS-TA에서 적용하는 Runtime Config는 다음과 같다.
DNS Runtime Config
PaaS-TA 4.0부터 적용되는 부분으로 PaaS-TA Component에서 Consul이 대체된 Component이다.
PaaS-TA Component 간의 통신을 위해 BOSH DNS 배포가 선행되어야 한다.
OS Configuration Runtime Config
BOSH Linux OS 구성 릴리스를 이용하여 sysctl을 구성한다.
PaaS-TA 5.5.0은 Runtime Config 설정 스크립트를 지원하며, BOSH 로그인 후 다음 명령어를 수행하여 Runtime Config를 설정한다.
Runtime Config 업데이트 Script 수정 (BOSH_ENVIRONMENT 수정)
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh/update-runtime-config.sh
#!/bin/bash
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n runtime-configs/dns.yml
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n --name=os-conf runtime-configs/os-conf.yml
Runtime Config 업데이트 Script 실행
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh
$ source update-runtime-config.sh
Runtime Config 확인
$ bosh -e ${BOSH_ENVIRONMENT} runtime-config
$ bosh -e ${BOSH_ENVIRONMENT} runtime-config --name=os-conf
만약 오프라인 환경에 저장한 릴리즈를 사용 하고 싶다면, 릴리즈를 저장 한 뒤 경로를 설정 후 update-runtime-config 업로드 Script를 실행한다.
# 폴더 생성 및 이동
$ mkdir -p ~/workspace/paasta-5.5.0/release/bosh
$ cd ~/workspace/paasta-5.5.0/release/bosh
# bosh-dns-release 1.27.0 다운로드
$ wget https://nextcloud.paas-ta.org/index.php/s/8wf2Fjn2ytxsnR7/download --content-disposition
# os-conf 22.1.0 다운로드
$ wget https://nextcloud.paas-ta.org/index.php/s/G7ossXeZZHeMPTQ/download --content-disposition
오프라인 Runtime Config 업데이트 Script 수정 (BOSH_ENVIRONMENT, RELEASE_DIR 수정)
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh/offline-update-runtime-config.sh
#!/bin/bash
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
RELEASE_DIR="/home/ubuntu/workspace/paasta-5.5.0/release" # Release Directory (offline으로 릴리즈 다운받아 사용시 설정)
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n runtime-configs/dns-offline.yml \
-v releases_dir=${RELEASE_DIR}
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n --name=os-conf runtime-configs/os-conf-offline.yml \
-v releases_dir=${RELEASE_DIR}
오프라인 Runtime Config 업데이트 Script 실행
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh
$ source offline-update-runtime-config.sh
3.5. Cloud Config 설정
PaaS-TA를 설치하기 위한 IaaS 관련 Network, Storage, VM 관련 설정을 Cloud Config로 정의한다.
PaaS-TA 설치 파일을 내려받으면 ~/workspace/paasta-5.5.0/deployment/paasta-deployment/cloud-config 디렉터리 이하에 IaaS별 Cloud Config 예제를 확인할 수 있으며, 예제를 참고하여 cloud-config.yml을 IaaS에 맞게 수정한다.
PaaS-TA 배포 전에 Cloud Config를 BOSH에 적용해야 한다.
$ bosh -e ${BOSH_ENVIRONMENT} update-cloud-config ~/workspace/paasta-5.5.0/deployment/paasta-deployment/cloud-config/{iaas}-cloud-config.yml
Cloud Config 확인
$ bosh -e ${BOSH_ENVIRONMENT} cloud-config
3.5.1 AZs
PaaS-TA에서 제공되는 Cloud Config 예제는 z1 ~ z6까지 설정되어 있다.
z1 ~ z3까지는 PaaS-TA VM이 설치되는 Zone이며, z4 ~ z6까지는 서비스가 설치되는 Zone으로 정의한다.
3개 단위로 설정하는 이유는 서비스 3중화를 위해서이다.
PaaS-TA를 설치하는 환경에 따라 다르게 설정해도 된다.
3.5.2 VM Types
VM Type은 IaaS에서 정의된 VM Type이다.
3.5.3 Compilation
PaaS-TA 및 서비스 설치 시, PaaS-TA는 Compile VM을 생성하여 소스를 컴파일하고, PaaS-TA VM을 생성하여 컴파일된 파일을 대상 VM에 설치한다.
컴파일이 끝난 VM은 삭제된다.
※ Worker 수는 Compile VM의 수로, 많을수록 컴파일 속도가 빨라진다.
3.5.4 Disk Size
PaaS-TA 및 서비스가 설치되는 VM의 Persistent Disk Size이다.
3.5.5 Networks
Networks는 AZ 별 Subnet Network, DNS, Security Groups, Network ID를 정의한다.
보통 AZ 별로 256개의 IP를 정의할 수 있도록 Range Cider를 정의한다.
3.6. PaaS-TA 설치 파일
common_vars.yml파일과 vars.yml을 수정하여 PaaS-TA 설치시 적용하는 변수를 설정할 수 있다.
common_vars.yml
PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
vars.yml
PaaS-TA 설치시 적용하는 변수 설정 파일
deploy-aws-monitoring.sh
AWS 환경에 Monitoring 옵션을 적용하여 PaaS-TA 설치를 위한 Shell Script 파일. 존재하지 않을 경우 git clone 해 두었던 .../monitoring-deployment/paasta-addon/ 에서 파일을 복사해 온다
deploy-openstack-monitoring.sh
OpenStack 환경에 Monitoring 옵션을 적용하여 PaaS-TA 설치를 위한 Shell Script 파일. 존재하지 않을 경우 git clone 해 두었던 .../monitoring-deployment/paasta-addon/ 에서 파일을 복사해 온다
paasta-deployment.yml
PaaS-TA을 배포하는 Manifest 파일
3.6.1. PaaS-TA 설치 Variable File
● common_vars.yml
~/workspace/paasta-5.5.0/deployment/common 폴더에 있는 common_vars.yml PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일이 존재한다.
PaaS-TA 5.5.0을 설치할 때는 system_domain, paasta_admin_username, paasta_admin_password, uaa_client_admin_secret, uaa_client_portal_secret, paasta_database_port의 값을 변경 하여 설치 할 수 있다.
$ vi ~/workspace/paasta-5.5.0/deployment/common/common_vars.yml
# BOSH INFO
bosh_ip: "10.0.1.6" # BOSH IP
bosh_url: "http://10.0.1.6" # BOSH URL (e.g. "https://00.000.0.0")
bosh_client_admin_id: "admin" # BOSH Client Admin ID
bosh_client_admin_secret: "ert7na4jpewsczt" # BOSH Client Admin Secret('echo $(bosh int ~/workspace/paasta-5.5.0/deployment/paasta-deployment/bosh/{iaas}/creds.yml —path /admin_password))' 명령어를 통해 확인 가능)
bosh_director_port: 25555 # BOSH Director Port
bosh_oauth_port: 8443 # BOSH OAuth Port
bosh_version: 271.2 # BOSH version('bosh env' 명령어를 통해 확인 가능, on-demand service용, e.g. "271.2")
# PAAS-TA INFO
system_domain: "xx.xx.xxx.xxx.xip.io" # Domain (xip.io를 사용하는 경우 HAProxy Public IP와 동일)
paasta_admin_username: "admin" # PaaS-TA Admin Username
paasta_admin_password: "admin" # PaaS-TA Admin Password
paasta_nats_ip: "10.0.1.121" # PaaS-TA Nats IP(e.g. "10.0.1.121")
paasta_nats_port: 4222 # PaaS-TA Nats Port(e.g. "4222")
paasta_nats_user: "nats" # PaaS-TA Nats User(e.g. "nats")
paasta_nats_password: "7EZB5ZkMLMqT73h2JtxPqO" # PaaS-TA Nats Password (CredHub 로그인후 'credhub get -n /micro-bosh/paasta/nats_password' 명령어를 통해 확인 가능)
paasta_nats_private_networks_name: "default" # PaaS-TA Nats 의 Network 이름
paasta_database_ips: "10.0.1.123" # PaaS-TA Database IP(e.g. "10.0.1.123")
paasta_database_port: 5524 # PaaS-TA Database Port (e.g. 5524(postgresql)/13307(mysql)) -- Do Not Use "3306"&"13306" in mysql
paasta_cc_db_id: "cloud_controller" # CCDB ID(e.g. "cloud_controller")
paasta_cc_db_password: "cc_admin" # CCDB Password(e.g. "cc_admin")
paasta_uaa_db_id: "uaa" # UAADB ID(e.g. "uaa")
paasta_uaa_db_password: "uaa_admin" # UAADB Password(e.g. "uaa_admin")
paasta_api_version: "v3"
# UAAC INFO
uaa_client_admin_id: "admin" # UAAC Admin Client Admin ID
uaa_client_admin_secret: "admin-secret" # UAAC Admin Client에 접근하기 위한 Secret 변수
uaa_client_portal_secret: "clientsecret" # UAAC Portal Client에 접근하기 위한 Secret 변수
# Monitoring INFO
metric_url: "10.0.161.101" # Monitoring InfluxDB IP
syslog_address: "10.0.121.100" # Logsearch의 ls-router IP
syslog_port: "2514" # Logsearch의 ls-router Port
syslog_transport: "relp" # Logsearch Protocol
saas_monitoring_url: "xx.xx.xxx.xxx" # Pinpoint HAProxy WEBUI의 Public IP
monitoring_api_url: "xx.xx.xxx.xxx" # Monitoring-WEB의 Public IP
### Portal INFO
portal_web_user_ip: "52.78.88.252"
portal_web_user_url: "http://portal-web-user.xx.xx.xxx.xxx.xip.io"
### ETC INFO
abacus_url: "http://abacus.xx.xx.xxx.xxx.xip.io" # Abacus URL (e.g. "http://abacus.xxx.xxx.xxx.xxx.xip.io")
● vars.yml
PaaS-TA를 설치 할 때 적용되는 각종 변수값이나 배포 될 VM의 설정을 변경할 수 있다.
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/paasta/vars.yml
PaaS-TA Monitoring Agent 적용. 존재하지 않을 경우 git clone 해 두었던 .../monitoring-deployment/paasta-addon/operations/addons/ 에서 현재 위치에 ./operations/addons/ 디렉터리(없으면 생성) 안에 경로를 맞추어 파일을 복사해 놓는다.
Requires value :
-v metric_url
operations/addons/enable-component-syslog.yml
PaaS-TA Monitoring Log Agent 적용(PaaS-TA VM Log 전송). 존재하지 않을 경우 git clone 해 두었던 .../monitoring-deployment/paasta-addon/operations/addons/ 에서 현재 위치에 ./operations/addons/ 디렉터리(없으면 생성) 안에 경로를 맞추어 파일을 복사해 놓는다.
use-haproxy.yml에서 사용되는 릴리즈를 오프라인에 저장된 릴리즈로 설치가 가능하다.
Requires: use-haproxy.yml
Requires value : -v releases_dir
Monitoring Agent는 BOSH VM의 상태 정보(Metric data)를 paasta-monitoring의 InfluxDB에 전송한다. Syslog Agent는 BOSH VM의 log 정보를 logsearch의 ls-router에 전송하는 역할을 한다. BOSH 설치 전에 paasta-monitoring의 InfluxDB IP를 metric_url로 사용하기 위해 사전에 정의해야 한다. 마찬가지로 logsearch의 ls-router IP도 syslog_address로 연동하기 위해 사전에 정의해야 한다.
3.6.3. PaaS-TA 설치 Shell Scripts
paasta-deployment.yml 파일은 PaaS-TA를 배포하는 Manifest 파일이며, PaaS-TA VM에 대한 설치 정의를 하게 된다.
PaaS-TA VM 중 singleton-blobstore, database의 AZs(zone)을 변경하면 조직(ORG), 스페이스(SPACE), 앱(APP) 정보가 모두 삭제된다.
이미 설치된 PaaS-TA의 재배포 시, singleton-blobstore, database의 AZs(zone)을 변경하면 조직(ORG), 공간(SPACE), 앱(APP) 정보가 모두 삭제된다.
※ PaaS-TA 설치 시 명령어는 BOSH deploy를 사용한다. (IaaS 환경에 따라 Option이 다름)
PaaS-TA 배포 BOSH 명령어 예시
$ bosh -e ${BOSH_ENVIRONMENT} -d paasta deploy paasta-deployment.yml
PaaS-TA 배포 시, 설치 Option을 추가해야 한다. 설치 Option에 대한 설명은 아래와 같다.
-e
BOSH Director 명
-d
Deployment 명 (기본값 paasta, 수정 시 다른 PaaS-TA 서비스에 영향을 준다.)
-o
PaaS-TA 설치 시 적용하는 Option 파일로 IaaS별 속성, Haproxy 사용 여부, Database 설정 기능을 제공한다.
-v
PaaS-TA 설치 시 적용하는 변수 또는 Option 파일에 변수를 설정할 경우 사용한다. Option 파일 속성에 따라 필수 또는 선택 항목으로 나뉜다.
-l, --var-file
YAML파일에 작성한 변수를 읽어올때 사용한다.
● deploy-aws-monitoring.sh
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy paasta-deployment.yml \ # PaaS-TA Manifest File
-o operations/aws.yml \ # AWS 설정
-o operations/cce.yml \ # CCE 조치 적용
-o operations/use-haproxy.yml \ # HAProxy 적용
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
-o operations/use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
-o operations/rename-network-and-deployment.yml \ # Rename Network and Deployment
-o paasta-addon/paasta-monitoring.yml \ # [MONITORING] monitoring metric agent 적용
-o operations/addons/enable-component-syslog.yml \ # [MONITORING] monitoring log agent 적용
-l vars.yml \ # 환경에 PaaS-TA 설치시 적용하는 변수 설정 파일
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
● deploy-openstack-monitoring.sh
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy paasta-deployment.yml \ # PaaS-TA Manifest File
-o operations/openstack.yml \ # OpenStack 설정
-o operations/use-haproxy.yml \ # HAProxy 적용
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
-o operations/use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
-o operations/rename-network-and-deployment.yml \ # Rename Network and Deployment
-o paasta-addon/paasta-monitoring.yml \ # [MONITORING] monitoring metric agent 적용
-o operations/addons/enable-component-syslog.yml \ # [MONITORING] monitoring log agent 적용
-l vars.yml \ # PaaS-TA 설치시 적용하는 변수 설정 파일
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/paasta/deploy-aws-monitoring.sh
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy paasta-deployment.yml \ # PaaS-TA Manifest File
-o operations/aws.yml \ # AWS 설정
-o operations/cce.yml \ # CCE 조치
-o operations/use-haproxy.yml \ # HAProxy 적용
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
-o operations/use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
-o operations/rename-network-and-deployment.yml \ # Rename Network and Deployment
-o paasta-addon/paasta-monitoring.yml \ # [MONITORING] monitoring metric agent 적용
-o operations/addons/enable-component-syslog.yml \ # [MONITORING] monitoring log agent 적용
-l vars.yml \ # 환경에 PaaS-TA 설치시 적용하는 변수 설정 파일
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
PaaS-TA 설치 시 Shell Script 파일 실행 (BOSH 로그인 필요)
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/paasta
$ ./deploy-{IaaS}-monitoring.sh
서비스 설치에 필요한 릴리즈 파일을 다운로드 받아 Local machine의 작업 경로로 위치시킨다.
# 릴리즈 다운로드 파일 위치 경로 생성
$ mkdir -p ~/workspace/paasta-5.5.0/release
# 릴리즈 파일 다운로드 및 파일 경로 확인
$ cd ~/workspace/paasta-5.5.0/release
$ wget https://nextcloud.paas-ta.org/index.php/s/TS6M2MTBkYsX8Lq/download --content-disposition
$ unzip paasta.zip
$ cd ~/workspace/paasta-5.5.0/release/paasta
$ ls
binary-buildpack-release-1.0.36.tgz garden-runc-release-1.19.16.tgz pxc-release-0.29.0.tgz
bosh-dns-aliases-release-0.0.3.tgz go-buildpack-release-1.9.17.tgz python-buildpack-release-1.7.20.tgz
bpm-release-1.1.9.tgz haproxy-boshrelease-10.1.0.tgz r-buildpack-release-1.1.7.tgz
capi-release-1.98.0-PaaS-TA.tgz java-buildpack-release-4.32.1.tgz routing-release-0.207.0-PaaS-TA.tgz
capi-release-1.98.0.tgz log-cache-release-2.8.0.tgz routing-release-0.207.0.tgz
cf-cli-release-1.29.0.tgz loggregator-agent-release-6.1.1.tgz ruby-buildpack-release-1.8.23.tgz
cf-networking-release-2.33.0-PaaS-TA.tgz loggregator-release-106.3.10.tgz silk-release-2.33.0-PaaS-TA.tgz
cf-networking-release-2.33.0.tgz metrics-discovery-release-3.0.1.tgz silk-release-2.33.0.tgz
cf-smoke-tests-release-41.0.1.tgz nats-release-34.tgz staticfile-buildpack-release-1.5.10.tgz
cflinuxfs3-release-0.204.0.tgz nginx-buildpack-release-1.1.14.tgz statsd-injector-release-1.11.15.tgz
credhub-release-2.8.0.tgz nodejs-buildpack-release-1.7.26.tgz uaa-release-74.24.0.tgz
diego-release-2.48.0-PaaS-TA.tgz os-conf-release-22.1.0.tgz uaa-relese-74.29.0-PaaS-TA.tgz
diego-release-2.48.0.tgz php-buildpack-release-4.4.20.tgz
dotnet-core-buildpack-release-2.3.14.tgz postgres-release-43.tgz
$ vi ~/workspace/paasta-5.5.0/deployment/paasta-deployment/paasta/deploy-aws-monitoring.sh
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy paasta-deployment.yml \ # PaaS-TA Manifest File
-o operations/aws.yml \ # AWS 설정
-o operations/cce.yml \ # CCE 조치 적용
-o operations/use-haproxy.yml \ # HAProxy 적용
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
-o operations/use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
-o operations/rename-network-and-deployment.yml \ # Rename Network and Deployment
-o operations/use-offline-releases.yml \ # paasta-deployment.yml의 오프라인 릴리즈 사용
-o operations/use-offline-releases-cce.yml \ # cce.yml의 오프라인 릴리즈 사용
-o operations/use-offline-releases-haproxy.yml \ # use-haproxy.yml의 오프라인 릴리즈 사용
-o operations/use-offline-releases-postgres.yml \ # use-postgres.yml의 오프라인 릴리즈 사용
-l vars.yml \ # 환경에 PaaS-TA 설치시 적용하는 변수 설정 파일
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
PaaS-TA 설치 시 Shell Script 파일 실행 (BOSH 로그인 필요)
$ cd ~/workspace/paasta-5.5.0/deployment/paasta-deployment/paasta
$ ./deploy-{IaaS}-monitoring.sh
$ cf api api.{system_domain} --skip-ssl-validation
ubuntu@inception:~$ cf api api.54.180.53.80.xip.io --skip-ssl-validation
Setting api endpoint to api.54.180.53.80.xip.io...
OK
api endpoint: https://api.54.180.53.80.xip.io
api version: 3.87.0
PaaS-TA 로그인
$ cf login
ubuntu@inception:~$ cf login
API endpoint: https://api.54.180.53.80.xip.io
Email> admin
Password>
Authenticating...
OK
Select an org (or press enter to skip):
BOSH Document:
Cloud Foundry Document:
BOSH Deployment:
CF Deployment:
PaaS-TA 설치를 위해 BOSH LOGIN을 진행한다. ()
모니터링이 적용된 paas-ta 구성의 경우 모니터링이 적용된 설치 파일 등 추가 구성해 주어야 한다.
※ 다음은 AWS에서 정의한 Instance Type이다.
서버 환경에 맞추어 와 [vars.yml]((#3.6.1.2))을 수정 한 뒤, Deploy 스크립트 파일의 설정을 수정한다.
설치 파일 통합 다운로드 위치 :
PaaS-TA 5.5.0 설치 릴리즈 파일 다운로드 :
서버 환경에 맞추어 와 [vars.yml]((#3.6.1.2))을 수정 한 뒤, Deploy 스크립트 파일의 설정을 수정한다.