PaaS-TA-5.5.0
Search…
PaaS-TA-min 설치 가이드

Table of Contents

Executive Summary

본 문서는 PaaS-TA 5.5.1-min(이하 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-min 설치 시 필요한 Stemcell은 기존 ubuntu-xenial-315.64에서 ubuntu-xenial-621.94로 변경되었다.
PaaS-TA는 VMware vSphere, Google Cloud Platform, Amazon Web Services EC2, OpenStack, Microsoft Azure 등의 IaaS를 지원한다.
현재 PaaS-TA 5.5.1에서 검증한 IaaS 환경은 AWS 환경이다.

1.3 참고 자료

본 문서는 Cloud Foundry의 BOSH Document와 Cloud Foundry Document를 참고로 작성하였다.
BOSH Document: http://bosh.io
Cloud Foundry Document: https://docs.cloudfoundry.org

2. PaaS-TA 5.5.1

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.1 설치

3.1. Prerequisite

  • BOSH2 기반의 BOSH를 설치한다.
  • PaaS-TA 설치는 BOSH를 설치한 Inception(설치 환경)에서 작업한다.
  • PaaS-TA 설치를 위해 BOSH LOGIN을 진행한다. (BOSH 로그인)

3.2. 설치 파일 다운로드

  • PaaS-TA를 설치하기 위한 deployment가 존재하지 않는다면 다운로드 받는다
1
$ mkdir -p ~/workspace/paasta-5.5.1/deployment
2
$ cd ~/workspace/paasta-5.5.1/deployment
3
$ git clone https://github.com/PaaS-TA/common.git
4
$ cd ~/workspace/paasta-5.5.1/deployment
5
$ git clone https://github.com/PaaS-TA/paasta-deployment.git -b v5.5.1-min
Copied!

3.3. Stemcell 업로드

Stemcell은 배포 시 생성되는 PaaS-TA VM Base OS Image이며, PaaS-TA 5.5.1은 Ubuntu xenial stemcell 621.94를 기반으로 한다. 기본적인 Stemcell 업로드 명령어는 다음과 같다.
1
$ bosh -e ${BOSH_ENVIRONMENT} upload-stemcell {URL}
Copied!
PaaS-TA 5.5.1은 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.1/deployment/paasta-deployment/bosh/upload-stemcell.sh
1
#!/bin/bash
2
STEMCELL_VERSION=621.94
3
CURRENT_IAAS="${CURRENT_IAAS}" # IaaS Information (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 aws/azure/gcp/openstack/vsphere 입력)
4
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
5
6
if [[ ${CURRENT_IAAS} = "aws" ]]; then
7
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
8
elif [[ ${CURRENT_IAAS} = "azure" ]]; then
9
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
10
elif [[ ${CURRENT_IAAS} = "gcp" ]]; then
11
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
12
elif [[ ${CURRENT_IAAS} = "openstack" ]]; then
13
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
14
elif [[ ${CURRENT_IAAS} = "vsphere" ]]; then
15
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
16
else
17
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
18
fi
Copied!
  • Stemcell 업로드 Script 실행
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh
2
$ source upload-stemcell.sh
Copied!
  • 만약 오프라인 환경에 저장한 스템셀을 사용 하고 싶다면, Stemcell을 저장 한 뒤 경로를 설정 후 Stemcell 업로드 Script를 실행한다.
1
# 폴더 생성 및 이동
2
$ mkdir -p ~/workspace/paasta-5.5.1/stemcell/paasta
3
$ cd ~/workspace/paasta-5.5.1/stemcell/paasta/
4
5
# 개별 Stemcell 다운로드
6
## AWS의 경우
7
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-aws-xen-hvm-ubuntu-xenial-go_agent.tgz
8
9
## AZURE의 경우
10
$ wget https://bosh-core-stemcells.s3-accelerate.amazonaws.com/621.94/bosh-stemcell-621.94-azure-hyperv-ubuntu-xenial-go_agent.tgz
11
12
## GCP의 경우
13
$ wget https://bosh-core-stemcells.s3-accelerate.amazonaws.com/621.94/bosh-stemcell-621.94-google-kvm-ubuntu-xenial-go_agent.tgz
14
15
## OPENSTACK의 경우
16
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-openstack-kvm-ubuntu-xenial-go_agent.tgz
17
18
## VSHPERE의 경우
19
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-vsphere-esxi-ubuntu-xenial-go_agent.tgz
20
21
## BOSH-LITE의 경우
22
$ wget https://s3.amazonaws.com/bosh-core-stemcells/621.94/bosh-stemcell-621.94-warden-boshlite-ubuntu-xenial-go_agent.tgz
23
24
# 통합 다운로드의 경우
25
$ cd ~/workspace/paasta-5.5.1
26
$ wget https://nextcloud.paas-ta.org/index.php/s/RLgPANn7LNmGrqP/download --content-disposition
27
$ unzip stemcell.zip
Copied!
  • 오프라인 Stemcell 업로드 Script의 설정 수정 (BOSH_ENVIRONMENT, STEMCELL_DIR 수정)
$ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh/offline-upload-stemcell.sh
1
#!/bin/bash
2
STEMCELL_VERSION=621.94
3
STEMCELL_DIR="/home/ubuntu/workspace/paasta-5.5.1/stemcell/paasta"
4
CURRENT_IAAS="${CURRENT_IAAS}" # IaaS Information (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 aws/azure/gcp/openstack/vsphere 입력, 미 입력시 bosh-lite)
5
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
6
7
if [[ ${CURRENT_IAAS} = "aws" ]]; then
8
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-aws-xen-hvm-ubuntu-xenial-go_agent.tgz -n
9
elif [[ ${CURRENT_IAAS} = "azure" ]]; then
10
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-azure-hyperv-ubuntu-xenial-go_agent.tgz -n
11
elif [[ ${CURRENT_IAAS} = "gcp" ]]; then
12
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-google-kvm-ubuntu-xenial-go_agent.tgz -n
13
elif [[ ${CURRENT_IAAS} = "openstack" ]]; then
14
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-openstack-kvm-ubuntu-xenial-go_agent.tgz -n
15
elif [[ ${CURRENT_IAAS} = "vsphere" ]]; then
16
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-vsphere-esxi-ubuntu-xenial-go_agent.tgz -n
17
else
18
bosh -e ${BOSH_ENVIRONMENT} upload-stemcell ${STEMCELL_DIR}/bosh-stemcell-${STEMCELL_VERSION}-warden-boshlite-ubuntu-xenial-go_agent.tgz -n
19
fi
Copied!
  • 오프라인 Stemcell 업로드 Script 실행
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh
2
$ source offline-upload-stemcell.sh
Copied!

3.4. Runtime Config 설정

Runtime config는 BOSH로 배포되는 VM에 적용되는 설정이다. 기본적인 Runtime Config 설정 명령어는 다음과 같다.
1
$ bosh -e ${BOSH_ENVIRONMENT} update-runtime-config {PATH} --name={NAME}
Copied!
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.1은 Runtime Config 설정 스크립트를 지원하며, BOSH 로그인 후 다음 명령어를 수행하여 Runtime Config를 설정한다.
  • Runtime Config 업데이트 Script 수정 (BOSH_ENVIRONMENT 수정)
    $ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh/update-runtime-config.sh
1
#!/bin/bash
2
3
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
4
5
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n runtime-configs/dns.yml
6
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n --name=os-conf runtime-configs/os-conf.yml
Copied!
  • Runtime Config 업데이트 Script 실행
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh
2
$ source update-runtime-config.sh
Copied!
  • Runtime Config 확인
    1
    $ bosh -e ${BOSH_ENVIRONMENT} runtime-config
    2
    $ bosh -e ${BOSH_ENVIRONMENT} runtime-config --name=os-conf
    Copied!
  • 만약 오프라인 환경에 저장한 릴리즈를 사용 하고 싶다면, 릴리즈를 저장 한 뒤 경로를 설정 후 update-runtime-config 업로드 Script를 실행한다.
1
# 폴더 생성 및 이동
2
$ mkdir -p ~/workspace/paasta-5.5.1/release/bosh
3
$ cd ~/workspace/paasta-5.5.1/release/bosh
4
5
# bosh-dns-release 1.27.0 다운로드
6
$ wget https://nextcloud.paas-ta.org/index.php/s/8wf2Fjn2ytxsnR7/download --content-disposition
7
8
# os-conf 22.1.0 다운로드
9
$ wget https://nextcloud.paas-ta.org/index.php/s/G7ossXeZZHeMPTQ/download --content-disposition
Copied!
  • 오프라인 Runtime Config 업데이트 Script 수정 (BOSH_ENVIRONMENT, RELEASE_DIR 수정)
$ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh/offline-update-runtime-config.sh
1
#!/bin/bash
2
3
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
4
RELEASE_DIR="/home/ubuntu/workspace/paasta-5.5.1/release" # Release Directory (offline으로 릴리즈 다운받아 사용시 설정)
5
6
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n runtime-configs/dns-offline.yml \
7
-v releases_dir=${RELEASE_DIR}
8
bosh -e ${BOSH_ENVIRONMENT} update-runtime-config -n --name=os-conf runtime-configs/os-conf-offline.yml \
9
-v releases_dir=${RELEASE_DIR}
Copied!
  • 오프라인 Runtime Config 업데이트 Script 실행
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh
2
$ source offline-update-runtime-config.sh
Copied!

3.5. Cloud Config 설정

PaaS-TA를 설치하기 위한 IaaS 관련 Network, Storage, VM 관련 설정을 Cloud Config로 정의한다. PaaS-TA 설치 파일을 내려받으면 ~/workspace/paasta-5.5.1/deployment/paasta-deployment/cloud-config 디렉터리 이하에 IaaS별 Cloud Config 예제를 확인할 수 있으며, 예제를 참고하여 cloud-config.yml을 IaaS에 맞게 수정한다. PaaS-TA 배포 전에 Cloud Config를 BOSH에 적용해야 한다.
  • AWS을 기준으로 한 cloud-config.yml 예제
1
## azs :: 가용 영역(Availability Zone)을 정의한다.
2
azs:
3
- cloud_properties:
4
availability_zone: ap-northeast-2a
5
name: z1
6
- cloud_properties:
7
availability_zone: ap-northeast-2a
8
name: z2
9
- cloud_properties:
10
availability_zone: ap-northeast-2a
11
name: z3
12
- cloud_properties:
13
availability_zone: ap-northeast-2a
14
name: z4
15
- cloud_properties:
16
availability_zone: ap-northeast-2a
17
name: z5
18
- cloud_properties:
19
availability_zone: ap-northeast-2a
20
name: z6
21
- cloud_properties:
22
availability_zone: ap-northeast-2a
23
name: z7
24
25
## compilation :: 컴파일 가상머신이 생성될 가용 영역 및 가상머신 유형 등을 정의한다.
26
compilation:
27
az: z4
28
network: default
29
reuse_compilation_vms: true
30
vm_type: xlarge
31
workers: 5
32
33
34
## disk_types :: 디스크 유형(Disk Type, Persistent Disk)을 정의한다.
35
disk_types:
36
- disk_size: 1024
37
name: default
38
- disk_size: 1024
39
name: 1GB
40
- disk_size: 2048
41
name: 2GB
42
- disk_size: 5120
43
name: 5GB
44
- disk_size: 8192
45
name: 8GB
46
- disk_size: 10240
47
name: 10GB
48
- disk_size: 20480
49
name: 20GB
50
- disk_size: 30720
51
name: 30GB
52
- disk_size: 51200
53
name: 50GB
54
- disk_size: 102400
55
name: 100GB
56
- disk_size: 512000
57
name: 500GB
58
- cloud_properties:
59
type: gp2
60
disk_size: 20000
61
name: 2GB_GP2
62
- cloud_properties:
63
type: gp2
64
disk_size: 50000
65
name: 5GB_GP2
66
- cloud_properties:
67
type: gp2
68
disk_size: 100000
69
name: 10GB_GP2
70
- cloud_properties:
71
type: gp2
72
disk_size: 500000
73
name: 50GB_GP2
74
75
## networks :: 네트워크(Network)를 정의한다. (AWS 경우, Subnet 및 Security Group, DNS, Gateway 등 설정)
76
networks:
77
- name: default
78
subnets:
79
- az: z1
80
cloud_properties:
81
security_groups: paasta-v50-security
82
subnet: subnet-XXXXXXXXXXXXXXXXX
83
dns:
84
- 8.8.8.8
85
gateway: 10.0.1.1
86
range: 10.0.1.0/24
87
reserved:
88
- 10.0.1.2 - 10.0.1.9
89
static:
90
- 10.0.1.10 - 10.0.1.120
91
- az: z2
92
cloud_properties:
93
security_groups: paasta-v50-security
94
subnet: subnet-XXXXXXXXXXXXXXXXX
95
dns:
96
- 8.8.8.8
97
gateway: 10.1.41.1
98
range: 10.1.41.0/24
99
reserved:
100
- 10.1.41.1 - 10.1.41.9
101
static:
102
- 10.1.41.10 - 10.1.41.120
103
- az: z3
104
cloud_properties:
105
security_groups: paasta-v50-security
106
subnet: subnet-XXXXXXXXXXXXXXXXX
107
dns:
108
- 8.8.8.8
109
gateway: 10.2.81.1
110
range: 10.2.81.0/24
111
reserved:
112
- 10.2.81.1 - 10.2.81.9
113
static:
114
- 10.2.81.10 - 10.2.81.120
115
- az: z4
116
cloud_properties:
117
security_groups: paasta-v50-security
118
subnet: subnet-XXXXXXXXXXXXXXXXX
119
dns:
120
- 8.8.8.8
121
gateway: 10.3.121.1
122
range: 10.3.121.0/24
123
reserved:
124
- 10.3.121.1 - 10.3.121.9
125
static:
126
- 10.3.121.10 - 10.3.121.120
127
- az: z5
128
cloud_properties:
129
security_groups: paasta-v50-security
130
subnet: subnet-XXXXXXXXXXXXXXXXX
131
dns:
132
- 8.8.8.8
133
gateway: 10.4.161.1
134
range: 10.4.161.0/24
135
reserved:
136
- 10.4.161.1 - 10.4.161.9
137
static:
138
- 10.4.161.10 - 10.4.161.120
139
- az: z6
140
cloud_properties:
141
security_groups: paasta-v50-security
142
subnet: subnet-XXXXXXXXXXXXXXXXX
143
dns:
144
- 8.8.8.8
145
gateway: 10.5.201.1
146
range: 10.5.201.0/24
147
reserved:
148
- 10.5.201.1 - 10.5.201.9
149
static:
150
- 10.5.201.10 - 10.5.201.120
151
- az: z7
152
cloud_properties:
153
security_groups: paasta-v50-security
154
subnet: subnet-XXXXXXXXXXXXXXXXX
155
dns:
156
- 8.8.8.8
157
gateway: 10.6.0.1
158
range: 10.6.0.0/24
159
reserved:
160
- 10.6.0.1 - 10.6.0.9
161
static:
162
- 10.6.0.10 - 10.6.0.120
163
type: manual
164
165
- name: vip
166
type: vip
167
168
properties:
169
aws:
170
access_key_id: 'XXXXXXXXXXXXXXXXXXX'
171
default_key_name: aws-paasta-rnd-v50-inception.pem
172
default_security_groups:
173
- paasta-v50-security
174
region: ap-northeast-2
175
secret_access_key: 'XXXXXXXXXXXXXXXXXXXXXX'
176
177
## vm_extentions :: 임의의 특정 IaaS 구성을 지정하는 가상머신 구성을 정의한다. (Security Groups 및 Load Balancers 등)
178
vm_extensions:
179
- name: cf-router-network-properties
180
- name: cf-tcp-router-network-properties
181
- name: diego-ssh-proxy-network-properties
182
- name: cf-haproxy-network-properties
183
- cloud_properties:
184
ephemeral_disk:
185
size: 51200
186
type: gp2
187
name: 50GB_ephemeral_disk
188
- cloud_properties:
189
ephemeral_disk:
190
size: 102400
191
type: gp2
192
name: 100GB_ephemeral_disk
193
- name: ssh-proxy-and-router-lb
194
cloud_properties:
195
ports:
196
- host: 80
197
- host: 443
198
- host: 2222
199
200
## vm_type :: 가상머신 유형(VM Type)을 정의한다. (AWS 경우, Instance type 설정)
201
vm_types:
202
- cloud_properties:
203
ephemeral_disk:
204
size: 3000
205
type: gp2
206
instance_type: t2.small
207
name: minimal
208
- cloud_properties:
209
ephemeral_disk:
210
size: 10000
211
type: gp2
212
instance_type: t2.small
213
name: small
214
- cloud_properties:
215
ephemeral_disk:
216
size: 50000
217
type: gp2
218
instance_type: t2.medium
219
name: medium
220
- cloud_properties:
221
ephemeral_disk:
222
size: 50000
223
type: gp2
224
instance_type: t2.large
225
name: large
226
- cloud_properties:
227
ephemeral_disk:
228
size: 50000
229
type: gp2
230
instance_type: t2.xlarge
231
name: xlarge
232
- cloud_properties:
233
ephemeral_disk:
234
size: 30000
235
type: gp2
236
instance_type: t2.xlarge
237
name: small-highmem-16GB
238
- cloud_properties:
239
ephemeral_disk:
240
size: 30000
241
type: gp2
242
instance_type: t2.2xlarge
243
name: large-highmem-32GB
244
- cloud_properties:
245
ephemeral_disk:
246
size: 3000
247
type: gp2
248
instance_type: t2.small
249
name: service_tiny
250
- cloud_properties:
251
ephemeral_disk:
252
size: 3000
253
type: gp2
254
instance_type: t2.small
255
name: service_small
256
- cloud_properties:
257
ephemeral_disk:
258
size: 10000
259
type: gp2
260
instance_type: t2.small
261
name: service_medium_1CPU_2G
262
- cloud_properties:
263
ephemeral_disk:
264
size: 8000
265
type: gp2
266
instance_type: t2.medium
267
name: service_medium
268
- cloud_properties:
269
ephemeral_disk:
270
size: 10000
271
type: gp2
272
instance_type: t2.medium
273
name: service_medium_2G
274
- cloud_properties:
275
ephemeral_disk:
276
size: 3000
277
type: gp2
278
instance_type: t2.small
279
name: portal_tiny
280
- cloud_properties:
281
ephemeral_disk:
282
size: 3000
283
type: gp2
284
instance_type: t2.small
285
name: portal_small
286
- cloud_properties:
287
ephemeral_disk:
288
size: 4096
289
type: gp2
290
instance_type: t2.small
291
name: portal_medium
292
- cloud_properties:
293
ephemeral_disk:
294
size: 4096
295
type: gp2
296
instance_type: t2.small
297
name: portal_large
298
- cloud_properties:
299
ephemeral_dist:
300
size: 4096
301
type: gp2
302
instance_type: t2.small
303
name: caas_small
304
- cloud_properties:
305
ephemeral_dist:
306
size: 30000
307
type: gp2
308
instance_type: m4.xlarge
309
name: caas_small_highmem
Copied!
  • Cloud Config 업데이트
1
$ bosh -e ${BOSH_ENVIRONMENT} update-cloud-config ~/workspace/paasta-5.5.1/deployment/paasta-deployment/cloud-config/{iaas}-cloud-config.yml
Copied!
  • Cloud Config 확인
1
$ bosh -e ${BOSH_ENVIRONMENT} cloud-config
Copied!

● AZs

PaaS-TA에서 제공되는 Cloud Config 예제는 z1 ~ z6까지 설정되어 있다. z1 ~ z3까지는 PaaS-TA VM이 설치되는 Zone이며, z4 ~ z6까지는 서비스가 설치되는 Zone으로 정의한다. 3개 단위로 설정하는 이유는 서비스 3중화를 위해서이다. PaaS-TA를 설치하는 환경에 따라 다르게 설정해도 된다.

● VM Types

VM Type은 IaaS에서 정의된 VM Type이다.
※ 다음은 AWS에서 정의한 Instance Type이다.
Could not load image

● Compilation

PaaS-TA 및 서비스 설치 시, PaaS-TA는 Compile VM을 생성하여 소스를 컴파일하고, PaaS-TA VM을 생성하여 컴파일된 파일을 대상 VM에 설치한다. 컴파일이 끝난 VM은 삭제된다.
※ Worker 수는 Compile VM의 수로, 많을수록 컴파일 속도가 빨라진다.

● Disk Size

PaaS-TA 및 서비스가 설치되는 VM의 Persistent Disk Size이다.

● 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 설치시 적용하는 변수를 설정할 수 있다.
1
<table>
2
<tr>
3
<td>common_vars.yml</td>
4
<td>PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일</td>
5
</tr>
6
<tr>
7
<td>vars.yml</td>
8
<td>PaaS-TA 설치시 적용하는 변수 설정 파일</td>
9
</tr>
10
<tr>
11
<td>deploy-aws-4vms.sh</td>
12
<td>AWS 환경에 PaaS-TA-min 4vm 설치를 위한 Shell Script 파일</td>
13
</tr>
14
<tr>
15
<td>deploy-aws-7vms.sh</td>
16
<td>AWS 환경에 PaaS-TA-min 7vm 설치를 위한 Shell Script 파일</td>
17
</tr>
18
<tr>
19
<td>min-paasta-deployment.yml</td>
20
<td>PaaS-TA-min을 배포하는 Manifest 파일
21
</td>
22
</tr>
23
</table>
Copied!

3.6.1. PaaS-TA 설치 Variable File

● common_vars.yml
~/workspace/paasta-5.5.1/deployment/common 폴더에 있는 common_vars.yml PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일이 존재한다. PaaS-TA 5.5.1을 설치할 때는 system_domain, paasta_admin_username, paasta_admin_password, uaa_client_admin_secret, uaa_client_portal_secret, paasta_database_port의 값을 변경 하여 설치 할 수 있다.
$ vi ~/workspace/paasta-5.5.1/deployment/common/common_vars.yml
1
# BOSH INFO
2
bosh_ip: "10.0.1.6" # BOSH IP
3
bosh_url: "http://10.0.1.6" # BOSH URL (e.g. "https://00.000.0.0")
4
bosh_client_admin_id: "admin" # BOSH Client Admin ID
5
bosh_client_admin_secret: "ert7na4jpewsczt" # BOSH Client Admin Secret('echo $(bosh int ~/workspace/paasta-5.5.1/deployment/paasta-deployment/bosh/{iaas}/creds.yml —path /admin_password))' 명령어를 통해 확인 가능)
6
bosh_director_port: 25555 # BOSH Director Port
7
bosh_oauth_port: 8443 # BOSH OAuth Port
8
bosh_version: 271.2 # BOSH version('bosh env' 명령어를 통해 확인 가능, on-demand service용, e.g. "271.2")
9
10
# PAAS-TA INFO
11
system_domain: "xx.xx.xxx.xxx.xip.io" # Domain (xip.io를 사용하는 경우 HAProxy Public IP와 동일)
12
paasta_admin_username: "admin" # PaaS-TA Admin Username
13
paasta_admin_password: "admin" # PaaS-TA Admin Password
14
paasta_nats_ip: "10.0.1.121" # PaaS-TA Nats IP(e.g. "10.0.1.121")
15
paasta_nats_port: 4222 # PaaS-TA Nats Port(e.g. "4222")
16
paasta_nats_user: "nats" # PaaS-TA Nats User(e.g. "nats")
17
paasta_nats_password: "7EZB5ZkMLMqT73h2JtxPqO" # PaaS-TA Nats Password (CredHub 로그인후 'credhub get -n /micro-bosh/paasta/nats_password' 명령어를 통해 확인 가능)
18
paasta_nats_private_networks_name: "default" # PaaS-TA Nats 의 Network 이름
19
paasta_database_ips: "10.0.1.123" # PaaS-TA Database IP(e.g. "10.0.1.123")
20
paasta_database_port: 5524 # PaaS-TA Database Port (e.g. 5524(postgresql)/13307(mysql)) -- Do Not Use "3306"&"13306" in mysql
21
paasta_cc_db_id: "cloud_controller" # CCDB ID(e.g. "cloud_controller")
22
paasta_cc_db_password: "cc_admin" # CCDB Password(e.g. "cc_admin")
23
paasta_uaa_db_id: "uaa" # UAADB ID(e.g. "uaa")
24
paasta_uaa_db_password: "uaa_admin" # UAADB Password(e.g. "uaa_admin")
25
paasta_api_version: "v3"
26
27
28
# UAAC INFO
29
uaa_client_admin_id: "admin" # UAAC Admin Client Admin ID
30
uaa_client_admin_secret: "admin-secret" # UAAC Admin Client에 접근하기 위한 Secret 변수
31
uaa_client_portal_secret: "clientsecret" # UAAC Portal Client에 접근하기 위한 Secret 변수
32
33
# Monitoring INFO
34
metric_url: "10.0.161.101" # Monitoring InfluxDB IP
35
syslog_address: "10.0.121.100" # Logsearch의 ls-router IP
36
syslog_port: "2514" # Logsearch의 ls-router Port
37
syslog_transport: "relp" # Logsearch Protocol
38
saas_monitoring_url: "xx.xx.xxx.xxx" # Pinpoint HAProxy WEBUI의 Public IP
39
monitoring_api_url: "xx.xx.xxx.xxx" # Monitoring-WEB의 Public IP
40
41
### Portal INFO
42
portal_web_user_ip: "52.78.88.252"
43
portal_web_user_url: "http://portal-web-user.xx.xx.xxx.xxx.xip.io"
44
45
### ETC INFO
46
abacus_url: "http://abacus.xx.xx.xxx.xxx.xip.io" # Abacus URL (e.g. "http://abacus.xxx.xxx.xxx.xxx.xip.io")
Copied!
● min-vars.yml
PaaS-TA를 설치 할 때 적용되는 각종 변수값이나 배포 될 VM의 설정을 변경할 수 있다.
$ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/min-vars.yml
1
# SERVICE VARIABLE
2
deployment_name: "paasta" # Deployment Name
3
network_name: "default" # VM에 별도로 지정하지 않는 Default Network Name
4
releases_dir: "/home/ubuntu/workspace/paasta-5.5.1/release" # Release Directory (offline으로 릴리즈 다운받아 사용시 설정)
5
haproxy_public_ip: "52.78.32.153" # HAProxy IP (Public IP, HAproxy VM 배포시 필요)
6
haproxy_public_network_name: "vip" # PaaS-TA Public Network Name
7
haproxy_private_network_name: "private" # PaaS-TA Private Network Name (vSphere use-haproxy-public-network-vsphere.yml 포함 배포시 설정 필요)
8
cc_db_encryption_key: "db-encryption-key" # Database Encryption Key (Version Upgrade 시 동일 KEY 필수)
9
cert_days: 3650 # PaaS-TA 인증서 유효기간
10
private_ip: "10.244.0.34" # Proxy IP (Private IP, BOSH-LITE 사용시 설정 필요)
11
uaa_login_logout_redirect_parameter_disable: "false"
12
uaa_login_logout_redirect_parameter_whitelist: ["http://portal-web-user.15.165.2.88.xip.io","http://portal-web-user.15.165.2.88.xip.io/callback","http://portal-web-user.15.165.2.88.xip.io/login"] # 포탈 페이지 이동을 위한 UAA Redirect Whitelist 등록 변수
13
uaa_login_branding_company_name: "PaaS-TA R&D" # UAA 페이지 타이틀 명
14
uaa_login_branding_footer_legal_text: "Copyright © PaaS-TA R&D Foundation, Inc. 2017. All Rights Reserved." # UAA 페이지 하단 영역 텍스트
15
uaa_login_branding_product_logo: "iVBORw0KGgoAAAANSUhEUgAAAM0AAAAdCAYAAAAJguhGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUNDMTA1MTZCRDNBMTFFNjkzMTVEQjMxRkE5QjkxNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUNDMTA1MTdCRDNBMTFFNjkzMTVEQjMxRkE5QjkxNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQ0MxMDUxNEJEM0ExMUU2OTMxNURCMzFGQTlCOTE1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQ0MxMDUxNUJEM0ExMUU2OTMxNURCMzFGQTlCOTE1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Piy2YkgAAA9pSURBVHja7FwJeBRF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" # UAA 페이지 로고 이미지 (Base64)
16
uaa_login_branding_square_logo: "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkIwMjA5M0U5NEQ0MTFFNjk1M0FFQ0UxNkIxNEZFNjciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkIwMjA5M0Q5NEQ0MTFFNjk1M0FFQ0UxNkIxNEZFNjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEMzRGNDdCNTgxNEIxMUU2QjJFODk1MEQzM0EzNkMxOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEMzRGNDdCNjgxNEIxMUU2QjJFODk1MEQzM0EzNkMxOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Psx4+gAAAASbSURBVHja7FZ9aFVlGP8973vOud9Tt7nl1lzNOWailKkV/iEohYn2Vx/QHxKCQkUUmEFhREXQvxJGhSFRlERFhEk1K9PUjJk0dZJzzuGc+3B3997tfp3zfvScu0X4T1AQ/nPP5eGce17e5/l9PO9zL1lrcTMvgZt8VQFUAVQBVAE4KHbDZIYWq1P7dpiJwQ7HdYxZsOyiXLzmYxGvOwJZD6ICDFxQKQeKNgEyi6A8BYcUSE0CJKCpDkExikgyBmTLQJzXhIaVSejxfsjaZtDkeaD3M9iVu6ByKbiNc+GYsUtt5R/fPIzxoSaSUZhIADM9sN5c/WG707Z2r+jc8gJFvAz0/zOyhTrf9RImBptsOQ4bSA4P0Alma8hcOLAtOPnaT7pwbQXJ2H+vQsRaRzkis8+ci5wZAHb4+EYpErBFbgdWzpYJ1p8NHQeNnVuuj7/epca6N89spH9ZOAb+vZsf9B18Juj97osgkznk9+zfY0ojbeEaFd9tT0OV55lhycwJFGOpoxbkcoSAIxZClmHiXkCdD7/qLtr6BkSa/Z74xx6gFBOwvtSXf9mp+r5+mrJDt5IRMNIB+T5MtHHUXfvyFvnKltUbbP7KbRRzoDMSxHBp9hNetnLnTaE/6d/XmdLwUjuvuRtOKiNCALpQYWopDqMcOB43q/Zggusd6rf3PjF9X26ncr5GOGyxGwUZJiq4TmkyqXOjHXLXi8/l7eCRR0WUi3gWekowKxGaMyvjXzd+z0wp27tUjZ18TFiboljdALleNlTAEjdw4MKJp2CvdW/2T+/5VEz03FmRee4S8NECpljSUqTiv5U+53N9spM/o3TsrYN06dCDSDCLPCcb4apBaAdXjhkg3OOZmYgISLfMCdiWRPN1arz7Qzm//aCNd5wIVEPeyXZvs6d2v0N+UZhIDUztWqgreYjRiywk53QjHFzD9oI6H/mIrD4Pk0svKH+zo8tJX1hqonwCmLyeZFlzrET4pVJYQ3isgxf2iOZ3mokXWBkNlWyHbX3oLBVL31P//mcpKMFG50PVb4Y+fQZycoDJJBkAd75gFeU4bFPT2ei6nRvJls9W5qEZOrYoOLHvADIXOxHzWB62RGnoosfyJhlAimW07CNHRCK0TM6tBSX4BAlen7gASp8GBQo62XLF1G4S9ujRZuQGYNkWwX1C0Qh0jeu7i5Z/7tz7xPNCmOEZAIbP3/QgjK9a/F/3vY+x7vtlCMrjQoI3Oi4XTUE5c2CcGsDlo8XKRHhC2uJViOkxBltkLdirhnu+dToff0qd6LnDz11/wHHVLcKUha5bOCXdfA9aFh7y6u46g4aFQG4QfwPI9LGsNbD5aaHT57bq/sNPYuryCjLTDEJUpLbcmCTNjC0cllvFWrYHcWbd2idvX/+2bNq0m8HY4PhRFNrXYI6bBQpp2LZVMP2HYVIJuBEe541tQP4qnBsGh1FhIeO0rN6L1pUfmNFz99HIHxtsYXCZ1qoO0taTKgs+a4xAjguZmaLaVSNINHS5NUu+Eqn6HFTAeYIQGdtRRGW6KR/w+VkrXtM3zqrq3/IqgCqAKoCbDeBPAQYAvdcfKsxKtoUAAAAASUVORK5CYII=" # UAA 페이지 타이틀 로고 이미지 (Base64)
17
uaa_login_links_passwd: "http://portal-web-user.15.165.2.88.xip.io/resetpasswd" # UAA 페이지에서 Reset Password 누를 시 이동하는 링크 주소
18
uaa_login_links_signup: "http://portal-web-user.15.165.2.88.xip.io/createuser" # UAA 페이지에서 Create Account 누를 시 이동하는 링크 주소
19
uaa_client_portal_redirect_uri: "http://portal-web-user.15.165.2.88.xip.io,http://portal-web-user.15.165.2.88.xip.io/callback" # UAA Portal Client의 Redirect URI 지정 변수, 포탈에서 로그인 버튼 클릭 후 UAA 페이지에서 성공적으로 로그인했을 경우 이동하는 URI 경로
20
21
syslog_custom_rule: 'if ($msg contains "DEBUG") then stop' # [MONITORING] PaaS-TA Logging Agent에서 전송할 Custom Rule
22
syslog_fallback_servers: [] # [MONITORING] PaaS-TA Syslog Fallback Servers
23
24
25
# STEMCELL
26
stemcell_os: "ubuntu-xenial" # Stemcell OS
27
stemcell_version: "621.94" # Stemcell Version
28
29
# SMOKE-TEST
30
smoke_tests_azs: ["z1"] # Smoke-Test 가용 존
31
smoke_tests_instances: 1 # Smoke-Test 인스턴스 수
32
smoke_tests_vm_type: "minimal" # Smoke-Test VM 종류
33
smoke_tests_network: "default" # Smoke-Test 네트워크
34
35
# ROTATE-CC-DATABASE-KEY
36
rotate_cc_database_key_azs: ["z1"] # Rotate-CC-Database-Key 가용 존
37
rotate_cc_database_key_instances: 1 # Rotate-CC-Database-Key 인스턴스 수
38
rotate_cc_database_key_vm_type: "minimal" # Rotate-CC-Database-Key VM 종류
39
rotate_cc_database_key_network: "default" # Rotate-CC-Database-Key 네트워크
40
41
42
43
## 4VM
44
45
# DATABASE
46
database_azs: ["z1"] # Database 가용 존
47
database_instances: 1 # Database 인스턴스 수
48
database_vm_type: "small" # Database VM 종류
49
database_network: "default" # Database 네트워크
50
database_persistent_disk_type: "100GB" # Database 영구 Disk 종류
51
52
# CONTROL
53
control_azs: ["z1"] # Control 가용 존
54
control_instances: 1 # Control 인스턴스 수
55
control_vm_type: "small-highmem-16GB" # Control VM 종류
56
control_network: "default" # Control 네트워크
57
control_vm_extensions: ["diego-ssh-proxy-network-properties"] # Control VM 확장
58
59
# ROUTER
60
router_azs: ["z1"] # Router 가용 존
61
router_instances: 1 # Router 인스턴스 수
62
router_vm_type: "minimal" # Router VM 종류
63
router_network: "default" # Router 네트워크
64
router_vm_extensions: ["cf-router-network-properties"] # Router VM 확장
65
66
# COMPUTE
67
compute_azs: ["z1"] # COMPUTE 가용 존
68
compute_instances: 1 # COMPUTE 인스턴스 수
69
compute_vm_type: "small-highmem-16GB" # COMPUTE VM 종류
70
compute_network: "default" # COMPUTE 네트워크
71
compute_vm_extensions: ["100GB_ephemeral_disk"] # COMPUTE VM 확장
72
73
74
## 7VM
75
76
# SINGLETON-BLOBSTORE
77
singleton_blobstore_azs: ["z1"] # Singleton-Blobstore 가용 존
78
singleton_blobstore_instances: 1 # Singleton-Blobstore 인스턴스 수
79
singleton_blobstore_vm_type: "small" # Singleton-Blobstore VM 종류
80
singleton_blobstore_network: "default" # Singleton-Blobstore 네트워크
81
singleton_blobstore_persistent_disk_type: "100GB" # Singleton-Blobstore 영구 Disk 종류
82
83
# TCP-ROUTER
84
tcp_router_azs: ["z1"] # TCP-Router 가용 존
85
tcp_router_instances: 1 # TCP-Router 인스턴스 수
86
tcp_router_vm_type: "minimal" # TCP-Router VM 종류
87
tcp_router_network: "default" # TCP-Router 네트워크
88
tcp_router_vm_extensions: ["cf-tcp-router-network-properties"] # TCP-Router VM 확장
89
90
# HAPROXY
91
haproxy_azs: ["z7"] # HAProxy 가용 존
92
haproxy_instances: 1 # HAProxy 인스턴스 수
93
haproxy_vm_type: "minimal" # HAProxy VM 종류
94
haproxy_network: "default" # HAProxy 네트워크
Copied!
● PaaS-TA 그외 Variable List
(1) uaa_login_logout_redirect_parameter_whitelist : 포탈 페이지 이동을 위한 UAA Redirect Whitelist 등록 변수
1
ex) uaa_login_logout_redirect_parameter_whitelist=["{PaaS-TA PORTAL URI}","{PaaS-TA PORTAL URI}/callback","{PaaS-TA PORTAL URI}/login"]
Copied!
xip.io : 임시 도메인, 기본 DNS 서버가 8.8.8.8로 설정되어야 한다. xip.io를 사용하지 않고 DNS를 사용할 경우, Whitelist에 포탈 DNS, 포탈 DNS/callback, 포탈 DNS/login 세 개의 항목을 등록해야 한다.
(2) uaa_login_links_passwd : UAA 페이지에서 Reset Password 버튼 클릭 시 이동하는 링크 주소
(3) uaa_login_links_signup : UAA 페이지에서 Create Account 버튼 클릭 시 이동하는 링크 주소
1
ex) uaa_login_links_signup="{PaaS-TA PORTAL URI}/createuser"
Copied!
(4) uaa_client_portal_redirect_uri : UAAC Portal Client의 Redirect URI 지정 변수, 포탈에서 로그인 버튼 클릭 후 UAA 페이지에서 로그인 성공 시 이동하는 URI
1
ex) uaa_client_portal_redirect_uri="{PaaS-TA PORTAL URI}, {PaaS-TA PORTAL URI}/callback"
Copied!
(5) uaa_client_portal_secret : UAAC Portal Client에 접근하기 위한 Secret 변수
1
ex) uaa_client_portal_secret="portalclient"
2
3
paasta-portal deploy 파일 안의 portal_client_secret의 값과 일치해야 한다.
Copied!
(6) uaa_client_admin_secret : UAAC Admin Client에 접근하기 위한 Secret 변수
1
ex) uaa_client_admin_secret="admin-secret"
Copied!
  • uaa_client_admin_secret 적용 확인 방법
    1) PaaS-TA 설치 후 아래 명령어 실행한다.
    1
    $ uaac target
    2
    $ uaac token client get
    Copied!
    2) 설정한 secret 값으로 admin token을 얻을 경우 아래와 같은 결과가 출력된다.
    1
    [email protected]:~$ uaac target
    2
    3
    Target: https://uaa.54.180.53.80.xip.io
    4
    Context: admin, from client admin
    5
    6
    [email protected]:~$ uaac token client get
    7
    Client ID: admin
    8
    Client secret: ************
    9
    10
    Successfully fetched token via client credentials grant.
    11
    Target: https://uaa.54.180.53.80.xip.io
    12
    Context: admin, from client admin
    Copied!

3.6.2. PaaS-TA Operation 파일

1
<table>
2
<tr>
3
<td>파일명</td>
4
<td>설명</td>
5
<td>요구사항</td>
6
</tr>
7
<tr>
8
<td>operations/use-compiled-releases.yml</td>
9
<td>인터넷이 연결된 환경에서 컴파일 없이 빠른 설치가 가능하다.</td>
10
<td></td>
11
</tr>
12
<tr>
13
<td>operations/use-offline-releases.yml</td>
14
<td>min-paasta-deployment.yml에서 사용되는 릴리즈를 오프라인에 저장된 릴리즈로 설치가 가능하다.</td>
15
<td>Requires value : -v releases_dir</td>
16
</tr>
17
<tr>
18
<td>operations/min-use-postgres.yml</td>
19
<td>Database를 Postgres로 설치 <br>
20
- min-use-postgres.yml 미적용 시 MySQL 설치 <br>
21
- 3.5 이전 버전에서 Migration 시 필수
22
</td>
23
<td></td>
24
</tr>
25
<tr>
26
<td>operations/use-compiled-releases-postgres.yml</td>
27
<td>인터넷이 연결된 환경에서 컴파일 없이 Postgres의 빠른 설치가 가능하다.</td>
28
<td>Requires: use-postgres.yml</td>
29
</tr>
30
<tr>
31
<td>operations/use-offline-releases-postgres.yml</td>
32
<td>min-use-postgres.yml에서 사용되는 릴리즈를 오프라인에 저장된 릴리즈로 설치가 가능하다.</td>
33
<td>Requires: min-use-postgres.yml<br>
34
Requires value : -v releases_dir</td>
35
</tr>
36
<tr>
37
<td>operations/min-use-haproxy.yml</td>
38
<td>HAProxy 적용 <br>
39
- IaaS에서 제공하는 LB를 사용하여 PaaS-TA 설치 시, Operation 파일을 제거하고 설치한다.
40
</td>
41
<td>Requires operation file: use-haproxy-public-network.yml <br>
42
Requires value : -v haproxy_private_ip
43
</td>
44
</tr>
45
<tr>
46
<td>operations/use-haproxy-public-network.yml</td>
47
<td>HAProxy Public Network 설정 <br>
48
- IaaS에서 제공하는 LB를 사용하여 PaaS-TA 설치 시, Operation 파일을 제거하고 설치한다.
49
</td>
50
<td>Requires: min-use-haproxy.yml <br>
51
Requires Value : <br>
52
-v haproxy_public_ip <br>
53
-v haproxy_public_network_name
54
</td>
55
</tr>
56
<tr>
57
<td>operations/use-compiled-releases-haproxy.yml</td>
58
<td>인터넷이 연결된 환경에서 컴파일 없이 HAProxy의 빠른 설치가 가능하다.</td>
59
<td>Requires: min-use-haproxy.yml</td>
60
</tr>
61
<tr>
62
<td>operations/use-offline-releases-haproxy.yml</td>
63
<td>min-use-haproxy.yml에서 사용되는 릴리즈를 오프라인에 저장된 릴리즈로 설치가 가능하다.</td>
64
<td>Requires: min-use-haproxy.yml<br>
65
Requires value : -v releases_dir</td>
66
</tr>
67
<tr>
68
<td>operations/min-use-router-public-network.yml</td>
69
<td>router를 외부 접근을 가능하게 수정한다.</td>
70
<td>4VMs 배포시 사용</td>
71
</tr>
72
<tr>
73
<td>operations/min-create-vm-singleton-blobstore.yml</td>
74
<td>4VMs에서 사용되는 database의<br>singleton-blobstore를 단일 VM으로 배포한다.</td>
75
<td>Requires: min-use-haproxy.yml <br>
76
7VMs 배포시 사용<br>
77
Requires operation file: min-option-network-and-deployment.yml</td>
78
</tr>
79
<tr>
80
<td>operations/min-create-vm-tcp-router.yml</td>
81
<td>4VMs에서 사용되는 router의 tcp-router를<br>단일 VM으로 배포한다.</td>
82
<td>7VMs 배포시 사용</td>
83
</tr>
84
</table>
Copied!

3.6.3. PaaS-TA 설치 Shell Scripts

min-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-min 배포 BOSH 명령어 예시
1
$ bosh -e ${BOSH_ENVIRONMENT} -d paasta deploy min-paasta-deployment.yml
Copied!
PaaS-TA 배포 시, 설치 Option을 추가해야 한다. 설치 Option에 대한 설명은 아래와 같다.
1
<table>
2
<tr>
3
<td>-e</td>
4
<td>BOSH Director 명</td>
5
</tr>
6
<tr>
7
<td>-d</td>
8
<td>Deployment 명 (기본값 paasta, 수정 시 다른 PaaS-TA 서비스에 영향을 준다.)</td>
9
</tr>
10
<tr>
11
<td>-o</td>
12
<td>PaaS-TA 설치 시 적용하는 Option 파일로 IaaS별 속성, Haproxy 사용 여부, Database 설정 기능을 제공한다.
13
</td>
14
</tr>
15
<tr>
16
<td>-v</td>
17
<td>PaaS-TA 설치 시 적용하는 변수 또는 Option 파일에 변수를 설정할 경우 사용한다. Option 파일 속성에 따라 필수 또는 선택 항목으로 나뉜다.</td>
18
</tr>
19
<tr>
20
<td>-l, --var-file</td>
21
<td>YAML파일에 작성한 변수를 읽어올때 사용한다.</td>
22
</tr>
23
</table>
Copied!
● deploy-aws-4vms.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-use-router-public-network.yml \ # Router 외부 접근 설정
7
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
8
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
9
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
10
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
● deploy-aws-7vms.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-create-vm-singleton-blobstore.yml \ # singleton-blobstore VM 배포
7
-o operations/min-create-vm-tcp-router.yml \ # tcp-router VM 배포
8
-o operations/min-use-haproxy.yml \ # HAProxy 적용
9
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
10
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
11
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
12
-o operations/min-option-network-and-deployment.yml \ # singleton-blobstore Rename Network and Deployment
13
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
14
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
  • Shell script 파일에 실행 권한 부여
1
$ chmod +x ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/*.sh
Copied!

3.7. PaaS-TA 설치

  • 서버 환경에 맞추어 common_vars.yml와 [vars.yml]((#3.6.1.2))을 수정 한 뒤, Deploy 스크립트 파일의 설정을 수정한다.
  • 4VM 배포시
    $ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/deploy-4vm-aws.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-use-router-public-network.yml \ # Router 외부 접근 설정
7
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
8
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
9
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
10
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
  • 7VM 배포시
    $ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/deploy-7vm-aws.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-create-vm-singleton-blobstore.yml \ # singleton-blobstore VM 배포
7
-o operations/min-create-vm-tcp-router.yml \ # tcp-router VM 배포
8
-o operations/min-use-haproxy.yml \ # HAProxy 적용
9
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
10
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
11
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
12
-o operations/min-option-network-and-deployment.yml \ # singleton-blobstore Rename Network and Deployment
13
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
14
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
  • PaaS-TA 설치 시 Shell Script 파일 실행 (BOSH 로그인 필요)
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta
2
$ ./deploy-{IaaS}-{VMs_Number}.sh
Copied!
  • PaaS-TA 설치 확인
$ bosh -e ${BOSH_ENVIRONMENT} vms -d paasta
1
[email protected]:~$ bosh -e micro-bosh vms -d paasta
2
Using environment '10.0.1.6' as client 'admin'
3
4
Task 134. Done
5
6
Deployment 'paasta'
7
8
Instance Process State AZ IPs VM CID VM Type Active
9
compute/e154dcdc-a2c1-4a85-86b7-607a02a30acf running z1 10.0.31.235 i-0f92f55575bf2567e small-highmem-16GB true
10
control/a18f5e97-098c-47ab-9147-77f594571bd6 running z1 10.0.31.234 i-053cd8f71d99f1a15 small-highmem-16GB true
11
database/7ea28d82-5d5b-471f-bde6-a65d4809062e running z1 10.0.31.233 i-0b2e54deaf0734f59 small true
12
router/c01b1aa4-43c9-42f6-9003-cf8f8664d142 running z7 10.0.30.204 i-0a449def3351877b3 minimal true
13
54.180.53.80
14
15
4 vms
16
17
Succeeded
18
19
20
[email protected]:~$ bosh -e micro-bosh vms -d paasta
21
Using environment '10.0.1.6' as client 'admin'
22
23
Task 134. Done
24
25
Deployment 'paasta'
26
27
Instance Process State AZ IPs VM CID VM Type Active
28
compute/c3f53aed-469f-47ab-aa9b-94be30ca3687 running z1 10.0.21.156 i-0617a496567bd859e small-highmem-16GB true
29
control/acd880a6-b309-452e-b996-0ef4252f8dd3 running z1 10.0.21.153 i-0d9fbf3f662dec9a0 small-highmem-16GB true
30
database/c92fd45f-1165-4d71-8df4-9b4270abdd0a running z1 10.0.21.151 i-0ead4f61c9be951b9 small true
31
haproxy/5ccc73dd-cf7e-4f4c-a204-1e933eddfcf8 running z7 10.0.20.151 i-02e5277d6fd829f34 minimal true
32
54.180.53.80
33
router/4f58af5a-529c-41f7-866c-e2327978ea99 running z1 10.0.21.154 i-0b5f2d42d2c2b9d06 minimal true
34
singleton-blobstore/5ed376fe-1d84-45c8-a6e8-f938b7320a36 running z1 10.0.21.152 i-08a432269ffb76663 small true
35
tcp-router/f8fe5974-8340-4d16-ae02-0b7150828388 running z1 10.0.21.155 i-04a845c8e7fc7cfb4 minimal true
36
37
38
7 vms
39
40
Succeeded
Copied!

3.8. PaaS-TA 설치 - 다운로드 된 Release 파일 이용 방식

  • 서비스 설치에 필요한 릴리즈 파일을 다운로드 받아 Local machine의 작업 경로로 위치시킨다.
1
# 릴리즈 다운로드 파일 위치 경로 생성
2
$ mkdir -p ~/workspace/paasta-5.5.1/release
3
4
# 릴리즈 파일 다운로드 및 파일 경로 확인
5
$ cd ~/workspace/paasta-5.5.1/release
6
$ wget https://nextcloud.paas-ta.org/index.php/s/TS6M2MTBkYsX8Lq/download --content-disposition
7
$ unzip paasta.zip
8
$ cd ~/workspace/paasta-5.5.1/release/paasta
9
$ ls
10
binary-buildpack-release-1.0.36.tgz garden-runc-release-1.19.16.tgz pxc-release-0.29.0.tgz
11
bosh-dns-aliases-release-0.0.3.tgz go-buildpack-release-1.9.17.tgz python-buildpack-release-1.7.20.tgz
12
bpm-release-1.1.9.tgz haproxy-boshrelease-10.1.0.tgz r-buildpack-release-1.1.7.tgz
13
capi-release-1.98.0-PaaS-TA.tgz java-buildpack-release-4.32.1.tgz routing-release-0.207.0-PaaS-TA.tgz
14
capi-release-1.98.0.tgz log-cache-release-2.8.0.tgz routing-release-0.207.0.tgz
15
cf-cli-release-1.29.0.tgz loggregator-agent-release-6.1.1.tgz ruby-buildpack-release-1.8.23.tgz
16
cf-networking-release-2.33.0-PaaS-TA.tgz loggregator-release-106.3.10.tgz silk-release-2.33.0-PaaS-TA.tgz
17
cf-networking-release-2.33.0.tgz metrics-discovery-release-3.0.1.tgz silk-release-2.33.0.tgz
18
cf-smoke-tests-release-41.0.1.tgz nats-release-34.tgz staticfile-buildpack-release-1.5.10.tgz
19
cflinuxfs3-release-0.204.0.tgz nginx-buildpack-release-1.1.14.tgz statsd-injector-release-1.11.15.tgz
20
credhub-release-2.8.0.tgz nodejs-buildpack-release-1.7.26.tgz uaa-release-74.24.0.tgz
21
diego-release-2.48.0-PaaS-TA.tgz os-conf-release-22.1.0.tgz uaa-relese-74.29.0-PaaS-TA.tgz
22
diego-release-2.48.0.tgz php-buildpack-release-4.4.20.tgz
23
dotnet-core-buildpack-release-2.3.14.tgz postgres-release-43.tgz
Copied!
  • 서버 환경에 맞추어 common_vars.yml와 [vars.yml]((#3.6.1.2))을 수정 한 뒤, Deploy 스크립트 파일의 설정을 수정한다.
  • 4VM 배포시
    $ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/deploy-4vm-aws.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-use-router-public-network.yml \ # Router 외부 접근 설정
7
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
8
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
9
-o operations/use-offline-releases.yml \ # min-paasta-deployment.yml의 오프라인 릴리즈 사용
10
-o operations/use-offline-releases-cce.yml \ # min-cce.yml의 오프라인 릴리즈 사용
11
-o operations/use-offline-releases-postgres.yml \ # min-use-postgres.yml의 오프라인 릴리즈 사용
12
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
13
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
  • 7VM 배포시
    $ vi ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta/deploy-7vm-aws.sh
1
BOSH_ENVIRONMENT="${BOSH_ENVIRONMENT}" # bosh director alias name (PaaS-TA에서 제공되는 create-bosh-login.sh 미 사용시 bosh envs에서 이름을 확인하여 입력)
2
3
bosh -e ${BOSH_ENVIRONMENT} -d paasta -n deploy min-paasta-deployment.yml \ # PaaS-TA-min Manifest File
4
-o operations/min-aws.yml \ # AWS 설정
5
-o operations/min-cce.yml \ # CCE 조치 설정
6
-o operations/min-create-vm-singleton-blobstore.yml \ # singleton-blobstore VM 배포
7
-o operations/min-create-vm-tcp-router.yml \ # tcp-router VM 배포
8
-o operations/min-use-haproxy.yml \ # HAProxy 적용
9
-o operations/use-haproxy-public-network.yml \ # HAProxy Public Network 적용
10
-o operations/min-use-postgres.yml \ # Database Type 설정 (3.5버전 이하에서 Migration 시 필수)
11
-o operations/min-rename-network-and-deployment.yml \ # Rename Network and Deployment
12
-o operations/min-option-network-and-deployment.yml \ # singleton-blobstore Rename Network and Deployment
13
-o operations/use-offline-releases.yml \ # min-paasta-deployment.yml의 오프라인 릴리즈 사용
14
-o operations/use-offline-releases-cce.yml \ # min-cce.yml의 오프라인 릴리즈 사용
15
-o operations/use-offline-releases-postgres.yml \ # min-use-postgres.yml의 오프라인 릴리즈 사용
16
-o operations/use-offline-releases-haprxoy.yml \ # min-use-haproxy.yml의 오프라인 릴리즈 사용
17
-l min-vars.yml \ # PaaS-TA-min 설치시 적용하는 변수 설정 파일
18
-l ../../common/common_vars.yml # PaaS-TA 및 각종 Service 설치시 적용하는 공통 변수 설정 파일
Copied!
  • PaaS-TA 설치 시 Shell Script 파일 실행 (BOSH 로그인 필요)
1
$ cd ~/workspace/paasta-5.5.1/deployment/paasta-deployment/paasta
2
$ ./deploy-{IaaS}-{VMs_Number}.sh
Copied!
  • PaaS-TA 설치 확인
$ bosh -e ${BOSH_ENVIRONMENT} vms -d paasta
1
[email protected]:~$ bosh -e micro-bosh vms -d paasta
2
Using environment '10.0.1.6' as client 'admin'
3
4
Task 134. Done
5
6
Deployment 'paasta'
7
8
Instance Process State AZ IPs VM CID VM Type Active
9
compute/e154dcdc-a2c1-4a85-86b7-607a02a30acf running z1 10.0.31.235 i-0f92f55575bf2567e small-highmem-16GB true
10
control/a18f5e97-098c-47ab-9147-77f594571bd6 running z1 10.0.31.234 i-053cd8f71d99f1a15 small-highmem-16GB true
11
database/7ea28d82-5d5b-471f-bde6-a65d4809062e running z1 10.0.31.233 i-0b2e54deaf0734f59 small true
12
router/c01b1aa4-43c9-42f6-9003-cf8f8664d142 running z7 10.0.30.204 i-0a449def3351877b3 minimal true
13
54.180.53.80
14
15
4 vms
16
17
Succeeded
18
19
20
[email protected]:~$ bosh -e micro-bosh vms -d paasta
21
Using environment '10.0.1.6' as client 'admin'
22
23
Task 134. Done
24
25
Deployment 'paasta'
26
27
Instance Process State AZ IPs VM CID VM Type Active
28
compute/c3f53aed-469f-47ab-aa9b-94be30ca3687 running z1 10.0.21.156 i-0617a496567bd859e small-highmem-16GB true
29
control/acd880a6-b309-452e-b996-0ef4252f8dd3 running z1 10.0.21.153 i-0d9fbf3f662dec9a0 small-highmem-16GB true
30
database/c92fd45f-1165-4d71-8df4-9b4270abdd0a running z1 10.0.21.151 i-0ead4f61c9be951b9 small true
31
haproxy/5ccc73dd-cf7e-4f4c-a204-1e933eddfcf8 running z7 10.0.20.151 i-02e5277d6fd829f34 minimal true
32
54.180.53.80
33
router/4f58af5a-529c-41f7-866c-e2327978ea99 running z1 10.0.21.154 i-0b5f2d42d2c2b9d06 minimal true
34
singleton-blobstore/5ed376fe-1d84-45c8-a6e8-f938b7320a36 running z1 10.0.21.152 i-08a432269ffb76663 small true
35
tcp-router/f8fe5974-8340-4d16-ae02-0b7150828388 running z1 10.0.21.155 i-04a845c8e7fc7cfb4 minimal true
36
37
38
7 vms
39
40
Succeeded
Copied!

3.9. PaaS-TA 로그인

CF CLI를 설치하고 PaaS-TA에 로그인한다. CF CLI는 v6과 v7중 선택해서 설치를 한다. CF API는 PaaS-TA 배포 시 지정했던 System Domain 명을 사용한다.
  • CF CLI v6 설치
1
$ wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
2
$ echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
3
$ sudo apt update
4
$ sudo apt install cf-cli -y
5
$ cf --version
Copied!
  • CF CLI v7 설치 (PaaS-TA 5.1.0 이상)
1
$ wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
2
$ echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
3
$ sudo apt update
4
$ sudo apt install cf7-cli -y
5
$ cf --version
Copied!
  • CF API URL 설정
$ cf api api.{system_domain} --skip-ssl-validation
1
[email protected]:~$ cf api api.54.180.53.80.xip.io --skip-ssl-validation
2
Setting api endpoint to api.54.180.53.80.xip.io...
3
OK
4
5
api endpoint: https://api.54.180.53.80.xip.io
6
api version: 3.87.0
Copied!
  • PaaS-TA 로그인
$ cf login
1
[email protected]:~$ cf login
2
API endpoint: https://api.54.180.53.80.xip.io
3
4
Email> admin
5
6
Password>
7
Authenticating...
8
OK
9
10
Select an org (or press enter to skip):
Copied!
Last modified 8mo ago