Portal 설치 가이드

1. 문서 개요

1.1. 목적

본 문서(PaaS-TA Portal Release 설치 가이드)는 전자정부표준프레임워크 기반의 PaaS-TA에서 제공되는 PaaS-TA Portal Release를 Bosh2.0을 이용하여 설치 하는 방법을 기술하였다. PaaS-TA 4.0 버전부터는 Bosh2.0 기반으로 deploy를 진행하며 내부 네트워크는 link를 적용시켜 자동으로 Ip가 할당이 된다. 기존 Bosh1.0 기반으로 설치를 원할경우에는 PaaS-TA 3.1 이하 버전의 문서를 참고한다.

1.2. 범위

설치 범위는 PaaS-TA Portal Release를 검증하기 위한 기본 설치를 기준으로 작성하였다.

1.3. 시스템 구성도

본 문서의 설치된 시스템 구성도이다. Binary Storage, Mariadb, Proxy, Gateway Api, Registration Api, Portal Api, Common Api, Log Api, Storage Api, Webadmin, Webuser로 최소사항을 구성하였다.
  • Paas-TA Portal 설치할때 cloud config에 추가적으로 정의한 VM_Tpye명과 스펙
VM_Type
스펙
portal_tiny
1vCPU / 256MB RAM / 4GB Disk
portal_medium
1vCPU / 1GB RAM / 4GB Disk
portal_small
1vCPU / 512MB RAM / 4GB Disk
  • Paas-TA Portal각 Instance의 Resource Pool과 스펙
구분
Resource Pool
스펙
binary_storage
portal_small
1vCPU / 512MB RAM / 4GB Disk 10GB(영구적 Disk)
haproxy
portal_small
1vCPU / 512MB RAM / 4GB Disk
mariadb
portal_small
1vCPU / 512MB RAM / 4GB Disk +10GB(영구적 Disk)
paas-ta-portal-registration
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-gateway
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-api
portal_medium
1vCPU / 1GB RAM / 4GB Disk
paas-ta-portal-common-api
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-log-api
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-storage-api
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-webadmin
portal_small
1vCPU / 512MB RAM / 4GB Disk
paas-ta-portal-webuser
portal_small
1vCPU / 512MB RAM / 4GB Disk

1.4. 참고자료

2. PaaS-TA Portal 설치

2.1. 설치전 준비사항

본 설치 가이드는 Linux 환경에서 설치하는 것을 기준으로 하였다. 서비스팩 설치를 위해서는 먼저 BOSH CLI v2 가 설치 되어 있어야 하고 BOSH 에 로그인이 되어 있어야 한다. BOSH CLI v2 가 설치 되어 있지 않을 경우 먼저 BOSH2.0 설치 가이드 문서를 참고 하여 BOSH CLI v2를 설치를 하고 사용법을 숙지 해야 한다.
  • PaaS-TA에서 제공하는 압축된 릴리즈 파일들을 다운받는다.
  • 다운로드 방법
  • 릴리즈된 파일받는방법
    1
    $ wget -O download.zip http://45.248.73.44/index.php/s/MeXCEMGWDtZzB8r/download
    2
    $ unzip download.zip
    Copied!
  • PAAS-TA-PORTAL-RELEASE 다운받아 직접 릴리즈 생성및 업로드 하는 방법
    1
    $ git clone https://github.com/PaaS-TA/PAAS-TA-PORTAL-RELEASE.git
    2
    $ git checkout v4.0
    3
    $ cd ~/PAAS-TA-PORTAL-RELEASE
    4
    $ wget -O download.zip http://45.248.73.44/index.php/s/xc3JeTsHnmfH6zt/download
    5
    $ unzip download.zip
    6
    $ cd ..
    7
    $ sh start.sh
    Copied!
  • bosh envs 명령어를 통해 사용할 bosh env를 확인한다.
    1
    $ bosh envs
    2
    URL Alias
    3
    10.0.1.7 micro-bosh
    4
    5
    1 environments
    6
    7
    Succeeded
    Copied!
  • bosh runtime-config 확인 및 수정
    1. 1.
      명령어를 통해 bosh-dns include deployments 에 paasta가 있는지 확인한다.
    $ bosh -e micro-bosh runtime-config Using environment '10.0.50.90' as client 'admin'
    addons:
    • include:
      deployments:
      • paasta
        stemcell:
      • os: ubuntu-trusty
      • os: ubuntu-xenial
        jobs:
        • name: bosh-dns
          properties:
          api:
          client:
          tls: "((/dns_api_client_tls))"
          server:
          tls: "((/dns_api_server_tls))"
          cache:
          enabled: true
          health:
          client:
          tls: "((/dns_healthcheck_client_tls))"
          enabled: true
          server:
          tls: "((/dns_healthcheck_server_tls))"
          release: bosh-dns
          name: bosh-dns
    • include:
      stemcell:
      • os: windows2012R2
      • os: windows2016
      • os: windows1803
        jobs:
        • name: bosh-dns-windows
          properties:
          api:
          client:
          tls: "((/dns_api_client_tls))"
          server:
          tls: "((/dns_api_server_tls))"
          cache:
          enabled: true
          health:
          client:
          tls: "((/dns_healthcheck_client_tls))"
          enabled: true
          server:
          tls: "((/dns_healthcheck_server_tls))"
          release: bosh-dns
          name: bosh-dns-windows
          releases:
    • name: bosh-dns
      sha1: d1aadbda5d60c44dec4a429cda872cf64f6d8d0b
      version: 1.10.0
      variables:
    • name: "/dns_healthcheck_tls_ca"
      options:
      common_name: dns-healthcheck-tls-ca
      is_ca: true
      type: certificate
    • name: "/dns_healthcheck_server_tls"
      options:
      ca: "/dns_healthcheck_tls_ca"
      common_name: health.bosh-dns
      extended_key_usage:
      • server_auth
        type: certificate
    • name: "/dns_healthcheck_client_tls"
      options:
      ca: "/dns_healthcheck_tls_ca"
      common_name: health.bosh-dns
      extended_key_usage:
      • client_auth
        type: certificate
    • name: "/dns_api_tls_ca"
      options:
      common_name: dns-api-tls-ca
      is_ca: true
      type: certificate
    • name: "/dns_api_server_tls"
      options:
      ca: "/dns_api_tls_ca"
      common_name: api.bosh-dns
      extended_key_usage:
      • server_auth
        type: certificate
    • name: "/dns_api_client_tls" options: ca: "/dns_api_tls_ca" common_name: api.bosh-dns extended_key_usage:
      • client_auth
        type: certificate
      Succeeded
  1. 1.
    bosh-dns include deployments에 paasta가 없다면 ~/workspace/paasta-4.0/deployment/bosh-deployment/runtime-configs 의 dns.yml 을 열어서 paasta를 추가해야한다.
1
addons:
2
- name: bosh-dns
3
jobs:
4
- name: bosh-dns
5
release: bosh-dns
6
properties:
7
cache:
8
enabled: true
9
health:
10
enabled: true
11
server:
12
tls: ((/dns_healthcheck_server_tls))
13
client:
14
tls: ((/dns_healthcheck_client_tls))
15
api:
16
server:
17
tls: ((/dns_api_server_tls))
18
client:
19
tls: ((/dns_api_client_tls))
20
include:
21
deployments:
22
- paasta
23
stemcell:
24
- os: ubuntu-trusty
25
- os: ubuntu-xenial
Copied!
  1. 1.
    dns.yml의 bosh-dns addons 설정 부분이다. Incoude.deployments에 paasta를 위와같이 추가시킨다.
  2. 2.
    yml설정을 한 후에 ~/workspace/paasta-4.0/deployment/bosh-deployment/update-runtime-config.sh을 실행시키면 runtime-config가 업데이트가 된다.
  3. 3.
    다시 bosh runtime-config 명령어를 통해 bosh-dns include deployments 에 paasta가 있는지 확인 후 성공적으로 등록이 되었으면 paasta-portal 릴리즈 업로드 및 deploy를 진행한다.
    2.2. PaaS-TA Portal 릴리즈 업로드
  • 업로드 되어 있는 릴리즈 목록을 확인한다.
  • 사용 예시
    1
    $ bosh -e micro-bosh releases
    2
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    3
    4
    Name Version Commit Hash
    5
    binary-buildpack 1.0.21* d714741
    6
    bpm 0.9.0* c9b7136
    7
    caas-release 1.0* empty+
    8
    capi 1.62.0* 22a608c
    9
    cf-networking 2.8.0* 479f4a66
    10
    cf-smoke-tests 40.0.5* d6aaf1f
    11
    cf-syslog-drain 7.0* 71b995a
    12
    cflinuxfs2 1.227.0* 60128e1
    13
    consul 195* 67cdbcd
    14
    diego 2.13.0* b5644d9
    15
    dotnet-core-buildpack 2.1.3* 46a41cd
    16
    garden-runc 1.15.1* 75107e7+
    17
    go-buildpack 1.8.25* 40c60a0
    18
    haproxy 8.8.0* 9292573
    19
    java-buildpack 4.13* c2749d3
    20
    loggregator 103.0* 05da4e3d
    21
    loggregator-agent 2.0* 2382c90
    22
    nats 24* 30e7a82
    23
    nodejs-buildpack 1.6.28* 4cfdb7b
    24
    paasta-delivery-pipeline-release 1.0* b3ee8f48+
    25
    paasta-pinpoint 2.0* 2dbb8bf3+
    26
    php-buildpack 4.3.57* efc48f3
    27
    postgres 29* 5de4d63d+
    28
    python-buildpack 1.6.18* bcc4f26
    29
    routing 0.179.0* 18155a5
    30
    ruby-buildpack 1.7.21* 9d69600
    31
    silk 2.9.0* eebed55
    32
    staticfile-buildpack 1.4.29* 8a82e63
    33
    statsd-injector 1.3.0* 39e5179
    34
    uaa 60.2* ebb5895
    35
    36
    (*) Currently deployed
    37
    (+) Uncommitted changes
    38
    39
    30 releases
    40
    41
    Succeeded
    Copied!
  • paasta-portal-release(ver 2.0)이 업로드 되어 있지 않은 것을 확인
  • PaaS-TA Portal 릴리즈 파일을 업로드한다.
    명령어 : bosh -e "bosh env" upload-release "release file"
    1
    릴리즈 파일 위치 : PAAS-TA-PORTAL-RELEASE/paasta-portal-release-2.0.tgz
    Copied!
  • 사용 예시
    1
    $ bosh -e micro-bosh upload-release paasta-portal-release-2.0.tgz
    2
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    3
    4
    ######################################################## 100.00% 153.81 MiB/s 3s
    5
    Task 4687
    6
    7
    Task 4687 | 02:09:08 | Extracting release: Extracting release (00:00:05)
    8
    Task 4687 | 02:09:13 | Verifying manifest: Verifying manifest (00:00:00)
    9
    Task 4687 | 02:09:14 | Resolving package dependencies: Resolving package dependencies (00:00:00)
    10
    Task 4687 | 02:09:14 | Creating new packages: paas-ta-portal-webadmin/a74db51496832a2b1e1e947c424d08b33fb46c83 (00:00:01)
    11
    Task 4687 | 02:09:15 | Creating new packages: paas-ta-portal-log-api/0aff609e64bd4f3ea2cef82d470c0881933b5bbf (00:00:01)
    12
    Task 4687 | 02:09:16 | Creating new packages: paas-ta-portal-api/02e6c62924be62a2672a662f80bbf8d77c0afdb1 (00:00:01)
    13
    Task 4687 | 02:09:17 | Creating new packages: paas-ta-portal-storage-api/6cd6d9b3dd2376509ab79ed944c10c3782617db7 (00:00:01)
    14
    Task 4687 | 02:09:18 | Creating new packages: apache2/ced88bee5e97185ff8d299e2892975bd2062fa01 (00:00:00)
    15
    Task 4687 | 02:09:18 | Creating new packages: python/4e255efa754d91b825476b57e111345f200944e1 (00:00:02)
    16
    Task 4687 | 02:09:20 | Creating new packages: haproxy/14b0441f6d68c89612f53ce4334a65c80d601e51 (00:00:00)
    17
    Task 4687 | 02:09:20 | Creating new packages: paas-ta-portal-registration/66ed72c68e86717bf53af02f07e85fa19d7da874 (00:00:01)
    18
    Task 4687 | 02:09:21 | Creating new packages: sshpass/1b75eb8cd625da33e67fe33deba7b675796adb83 (00:00:00)
    19
    Task 4687 | 02:09:21 | Creating new packages: paas-ta-portal-config-server/8064c9e7488f2f688bc259d8cb8b15f0894faa94 (00:00:00)
    20
    Task 4687 | 02:09:21 | Creating new packages: paas-ta-portal-infra-admin/69c651f70ca9ecfa305d60ef6c2cec36ae6d8fb6 (00:00:01)
    21
    Task 4687 | 02:09:22 | Creating new packages: tomcat/1ff8747498f45f21b2d43d6bc50d8e53a0ddfca7 (00:00:01)
    22
    Task 4687 | 02:09:23 | Creating new packages: swift-all-in-one/af76e98d69570ca8c886b3c7fcb23c3a1ccbbe40 (00:00:05)
    23
    Task 4687 | 02:09:28 | Creating new packages: paas-ta-portal-webuser/e3901a2d9e9cd349a06fee226bc3230e1c91b430 (00:00:02)
    24
    Task 4687 | 02:09:30 | Creating new packages: paas-ta-portal-common-api/8d7f3eb353ec32adf744d4514e95a936c2ea1ce3 (00:00:02)
    25
    Task 4687 | 02:09:32 | Creating new packages: java/86d8b8f8115418addf836753c1735abe547d4105 (00:00:03)
    26
    Task 4687 | 02:09:35 | Creating new packages: mariadb/59a218308c6c7dcf8795b531b53aa4a1c666ce00 (00:00:23)
    27
    Task 4687 | 02:09:58 | Creating new packages: paas-ta-portal-gateway/1fc98dd004de2dd036ed8c69fe9643efa4d74f5a (00:00:00)
    28
    Task 4687 | 02:09:58 | Creating new jobs: paas-ta-portal-webadmin/233eb71833ed12faef66b4ef1b298bee0f6f10d2 (00:00:01)
    29
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-log-api/3a5acb369f0491a48a3c7f8c2fdcddf469a0c2e8 (00:00:00)
    30
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-api/d047be88ad2335b7981b7bf3e8a1396176ec04eb (00:00:00)
    31
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-storage-api/46783767f597931024cd2ae3e9d4f71f08a5a71b (00:00:00)
    32
    Task 4687 | 02:09:59 | Creating new jobs: haproxy/6fb2bf3eefc2ec935bbb6a1d05ed92ba66ea7988 (00:00:00)
    33
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-registration/dc5256799b47b1e0abab0d55dbbed8dabbd4997b (00:00:00)
    34
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-infra-admin/6d09e520e3cb89e443c13b0a77f700cceb46b37a (00:00:00)
    35
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-webuser/e866e3a0fb36020dd8f207a0db5f7bd22be18d2b (00:00:00)
    36
    Task 4687 | 02:09:59 | Creating new jobs: binary_storage/8315c60cb8259e61fb0df4742e72cb2093dd32e4 (00:00:00)
    37
    Task 4687 | 02:09:59 | Creating new jobs: paas-ta-portal-common-api/e9ce476a7e453bb54a1581fbfaa09f669dbe39f0 (00:00:00)
    38
    Task 4687 | 02:09:59 | Creating new jobs: mariadb/3810edf74d908d7fb1cd284ce69a172b5fb51225 (00:00:01)
    39
    Task 4687 | 02:10:00 | Creating new jobs: paas-ta-portal-gateway/5950348e71002c4e7e511e8218e645f35cc887be (00:00:00)
    40
    Task 4687 | 02:10:00 | Release has been created: paas-ta-portal-release/2.0 (00:00:00)
    41
    42
    Task 4687 Started Mon Sep 3 02:09:08 UTC 2018
    43
    Task 4687 Finished Mon Sep 3 02:10:00 UTC 2018
    44
    Task 4687 Duration 00:00:52
    45
    Task 4687 done
    46
    47
    Succeeded
    Copied!
  • PaaS-TA Portal 릴리즈를 확인한다.
  • 사용 예시
    1
    $ bosh -e micro-bosh releases
    2
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    3
    4
    Name Version Commit Hash
    5
    binary-buildpack 1.0.21* d714741
    6
    bpm 0.9.0* c9b7136
    7
    caas-release 1.0* empty+
    8
    capi 1.62.0* 22a608c
    9
    cf-networking 2.8.0* 479f4a66
    10
    cf-smoke-tests 40.0.5* d6aaf1f
    11
    cf-syslog-drain 7.0* 71b995a
    12
    cflinuxfs2 1.227.0* 60128e1
    13
    consul 195* 67cdbcd
    14
    diego 2.13.0* b5644d9
    15
    dotnet-core-buildpack 2.1.3* 46a41cd
    16
    garden-runc 1.15.1* 75107e7+
    17
    go-buildpack 1.8.25* 40c60a0
    18
    haproxy 8.8.0* 9292573
    19
    java-buildpack 4.13* c2749d3
    20
    loggregator 103.0* 05da4e3d
    21
    loggregator-agent 2.0* 2382c90
    22
    nats 24* 30e7a82
    23
    nodejs-buildpack 1.6.28* 4cfdb7b
    24
    paas-ta-portal-release 2.0* 00000000
    25
    paasta-delivery-pipeline-release 1.0* b3ee8f48+
    26
    paasta-pinpoint 2.0* 2dbb8bf3+
    27
    php-buildpack 4.3.57* efc48f3
    28
    postgres 29* 5de4d63d+
    29
    python-buildpack 1.6.18* bcc4f26
    30
    routing 0.179.0* 18155a5
    31
    ruby-buildpack 1.7.21* 9d69600
    32
    silk 2.9.0* eebed55
    33
    staticfile-buildpack 1.4.29* 8a82e63
    34
    statsd-injector 1.3.0* 39e5179
    35
    uaa 60.2* ebb5895
    36
    37
    (*) Currently deployed
    38
    (+) Uncommitted changes
    39
    40
    31 releases
    41
    42
    Succeeded
    Copied!
  • PaaS-TA Portal 릴리즈가 업로드 되어 있는 것을 확인
  • Deploy시 사용할 Stemcell을 확인한다.
  • 사용 예시
    1
    $ bosh -e micro-bosh stemcells
    2
    Name Version OS CPI CID
    3
    bosh-vsphere-esxi-ubuntu-trusty-go_agent 3586.26* ubuntu-trusty - sc-109fbdb0-f663-49e8-9c30-8dbdd2e5b9b9
    4
    ~ 3468.51* ubuntu-trusty - sc-bd8fadf2-92f2-495b-b172-d571a388abf5
    5
    ~ 3445.2* ubuntu-trusty - sc-025c70b5-7d6e-4ba3-a12b-7e71c33dad24
    6
    ~ 3309* ubuntu-trusty - sc-22429dba-e5cc-4469-ab3a-882091573277
    7
    8
    (*) Currently deployed
    9
    10
    4 stemcells
    11
    12
    Succeeded
    Copied!
Stemcell 목록이 존재 하지 않을 경우 Stemcell을 업로드를 해야 한다. (Paas-TA Portal 은 stemcell 3468.51 이전버전을 사용)
1
$ wget -O download.zip http://45.248.73.44/index.php/s/b6NA5gPCBeQfrCo/download
2
$ unzip download.zip
3
$ bosh upload-stemcell "해당 stemcell 파일"
Copied!

2.3. PaaS-TA Portal Deployment 배포

BOSH Deployment manifest 는 components 요소 및 배포의 속성을 정의한 YAML 파일이다. Deployment manifest 에는 sotfware를 설치 하기 위해서 어떤 Stemcell (OS, BOSH agent) 을 사용할것이며 Release (Software packages, Config templates, Scripts) 이름과 버전, VMs 용량, Jobs params 등을 정의가 되어 있다.
deployment 파일에서 사용하는 network, vm_type 등은 cloud config 를 활용하고 해당 가이드는 Bosh2.0 가이드를 참고한다.
  • cloud config 내용 조회
    명령어 bosh -e "bosh env" cloud-config
  • 사용 예시
    1
    bosh -e micro-bosh cloud-config
    2
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    3
    4
    azs:
    5
    - cloud_properties:
    6
    datacenters:
    7
    - clusters:
    8
    - BD-HA:
    9
    resource_pool: CF_BOSH2_Pool
    10
    name: BD-HA
    11
    name: z1
    12
    - cloud_properties:
    13
    datacenters:
    14
    - clusters:
    15
    - BD-HA:
    16
    resource_pool: CF_BOSH2_Pool
    17
    name: BD-HA
    18
    name: z2
    19
    - cloud_properties:
    20
    datacenters:
    21
    - clusters:
    22
    - BD-HA:
    23
    resource_pool: CF_BOSH2_Pool
    24
    name: BD-HA
    25
    name: z3
    26
    - cloud_properties:
    27
    datacenters:
    28
    - clusters:
    29
    - BD-HA:
    30
    resource_pool: CF_BOSH2_Pool
    31
    name: BD-HA
    32
    name: z4
    33
    - cloud_properties:
    34
    datacenters:
    35
    - clusters:
    36
    - BD-HA:
    37
    resource_pool: CF_BOSH2_Pool
    38
    name: BD-HA
    39
    name: z5
    40
    - cloud_properties:
    41
    datacenters:
    42
    - clusters:
    43
    - BD-HA:
    44
    resource_pool: CF_BOSH2_Pool
    45
    name: BD-HA
    46
    name: z6
    47
    compilation:
    48
    az: z1
    49
    network: default
    50
    reuse_compilation_vms: true
    51
    vm_type: large
    52
    workers: 5
    53
    disk_types:
    54
    - disk_size: 1024
    55
    name: default
    56
    - disk_size: 1024
    57
    name: 1GB
    58
    - disk_size: 2048
    59
    name: 2GB
    60
    - disk_size: 4096
    61
    name: 4GB
    62
    - disk_size: 5120
    63
    name: 5GB
    64
    - disk_size: 8192
    65
    name: 8GB
    66
    - disk_size: 10240
    67
    name: 10GB
    68
    - disk_size: 20480
    69
    name: 20GB
    70
    - disk_size: 30720
    71
    name: 30GB
    72
    - disk_size: 51200
    73
    name: 50GB
    74
    - disk_size: 102400
    75
    name: 100GB
    76
    - disk_size: 1048576
    77
    name: 1TB
    78
    networks:
    79
    - name: default
    80
    subnets:
    81
    - azs:
    82
    - z1
    83
    - z2
    84
    - z3
    85
    - z4
    86
    - z5
    87
    - z6
    88
    cloud_properties:
    89
    name: Internal
    90
    dns:
    91
    - 8.8.8.8
    92
    gateway: 10.30.20.23
    93
    range: 10.30.0.0/16
    94
    reserved:
    95
    - 10.30.0.0 - 10.30.111.40
    96
    - name: public
    97
    subnets:
    98
    - azs:
    99
    - z1
    100
    - z2
    101
    - z3
    102
    - z4
    103
    - z5
    104
    - z6
    105
    cloud_properties:
    106
    name: External
    107
    dns:
    108
    - 8.8.8.8
    109
    gateway: 115.68.46.177
    110
    range: 115.68.46.176/28
    111
    reserved:
    112
    - 115.68.46.176 - 115.68.46.188
    113
    static:
    114
    - 115.68.46.189 - 115.68.46.190
    115
    type: manual
    116
    - name: service_private
    117
    subnets:
    118
    - azs:
    119
    - z1
    120
    - z2
    121
    - z3
    122
    - z4
    123
    - z5
    124
    - z6
    125
    cloud_properties:
    126
    name: Internal
    127
    dns:
    128
    - 8.8.8.8
    129
    gateway: 10.30.20.23
    130
    range: 10.30.0.0/16
    131
    reserved:
    132
    - 10.30.0.0 - 10.30.106.255
    133
    static:
    134
    - 10.30.107.1 - 10.30.107.255
    135
    - name: service_public
    136
    subnets:
    137
    - azs:
    138
    - z1
    139
    - z2
    140
    - z3
    141
    - z4
    142
    - z5
    143
    - z6
    144
    cloud_properties:
    145
    name: External
    146
    dns:
    147
    - 8.8.8.8
    148
    gateway: 115.68.47.161
    149
    range: 115.68.47.160/24
    150
    reserved:
    151
    - 115.68.47.161 - 115.68.47.174
    152
    static:
    153
    - 115.68.47.175 - 115.68.47.185
    154
    type: manual
    155
    - name: portal_service_public
    156
    subnets:
    157
    - azs:
    158
    - z1
    159
    - z2
    160
    - z3
    161
    - z4
    162
    - z5
    163
    - z6
    164
    cloud_properties:
    165
    name: External
    166
    dns:
    167
    - 8.8.8.8
    168
    gateway: 115.68.46.209
    169
    range: 115.68.46.208/28
    170
    reserved:
    171
    - 115.68.46.216 - 115.68.46.222
    172
    static:
    173
    - 115.68.46.214
    174
    type: manual
    175
    vm_extensions:
    176
    - cloud_properties:
    177
    ports:
    178
    - host: 3306
    179
    name: mysql-proxy-lb
    180
    - name: cf-router-network-properties
    181
    - name: cf-tcp-router-network-properties
    182
    - name: diego-ssh-proxy-network-properties
    183
    - name: cf-haproxy-network-properties
    184
    - cloud_properties:
    185
    disk: 51200
    186
    name: small-50GB
    187
    - cloud_properties:
    188
    disk: 102400
    189
    name: small-highmem-100GB
    190
    vm_types:
    191
    - cloud_properties:
    192
    cpu: 1
    193
    disk: 8192
    194
    ram: 1024
    195
    name: minimal
    196
    - cloud_properties:
    197
    cpu: 1
    198
    disk: 10240
    199
    ram: 2048
    200
    name: default
    201
    - cloud_properties:
    202
    cpu: 1
    203
    disk: 30720
    204
    ram: 4096
    205
    name: small
    206
    - cloud_properties:
    207
    cpu: 2
    208
    disk: 20480
    209
    ram: 4096
    210
    name: medium
    211
    - cloud_properties:
    212
    cpu: 2
    213
    disk: 20480
    214
    ram: 8192
    215
    name: medium-memory-8GB
    216
    - cloud_properties:
    217
    cpu: 4
    218
    disk: 20480
    219
    ram: 8192
    220
    name: large
    221
    - cloud_properties:
    222
    cpu: 8
    223
    disk: 20480
    224
    ram: 16384
    225
    name: xlarge
    226
    - cloud_properties:
    227
    cpu: 2
    228
    disk: 51200
    229
    ram: 4096
    230
    name: small-50GB
    231
    - cloud_properties:
    232
    cpu: 2
    233
    disk: 51200
    234
    ram: 4096
    235
    name: small-50GB-ephemeral-disk
    236
    - cloud_properties:
    237
    cpu: 4
    238
    disk: 102400
    239
    ram: 8192
    240
    name: small-100GB-ephemeral-disk
    241
    - cloud_properties:
    242
    cpu: 4
    243
    disk: 102400
    244
    ram: 8192
    245
    name: small-highmem-100GB-ephemeral-disk
    246
    - cloud_properties:
    247
    cpu: 8
    248
    disk: 20480
    249
    ram: 16384
    250
    name: small-highmem-16GB
    251
    - cloud_properties:
    252
    cpu: 1
    253
    disk: 4096
    254
    ram: 2048
    255
    name: caas_small
    256
    - cloud_properties:
    257
    cpu: 1
    258
    disk: 4096
    259
    ram: 1024
    260
    name: caas_small_api
    261
    - cloud_properties:
    262
    cpu: 1
    263
    disk: 4096
    264
    ram: 4096
    265
    name: caas_medium
    266
    - cloud_properties:
    267
    cpu: 2
    268
    disk: 8192
    269
    ram: 4096
    270
    name: service_medium
    271
    - cloud_properties:
    272
    cpu: 2
    273
    disk: 10240
    274
    ram: 2048
    275
    name: service_medium_2G
    276
    - cloud_properties:
    277
    cpu: 1
    278
    disk: 4096
    279
    ram: 512
    280
    name: portal_small
    281
    - cloud_properties:
    282
    cpu: 1
    283
    disk: 4096
    284
    ram: 1024
    285
    name: portal_medium
    286
    - cloud_properties:
    287
    cpu: 1
    288
    disk: 4096
    289
    ram: 2048
    290
    name: portal_large
    Copied!
1
Succeeded
Copied!
  • Deployment 파일을 서버 환경에 맞게 수정한다.
    deployment 파일 위치 : PAAS-TA-PORTAL-RELEASE/deployments/paas-ta-portal-bosh2.0-vsphere.yml
  • azs의 경우 z5 ~ z6 로 설정한다.
  • "(())" 구문은 bosh deploy 할 때 변수로 받아서 처리하는 구문이므로 이 부분의 수정 방법은 아래의 deploy-portal-bosh2.0.sh 참고 예) os : ((stemcell_os))
    ```diff
  • Object Storage 경우 stemcell 버전을 3468.51이상의 버전에선 지원하지 않음.
    3468.51 이외의 다른버전을 사용한다면 binary_storage_stemcells 스템셀 버전을 수정해주어야한다.
    ```
1
# paas-ta-portal-bosh2.0-vsphere.yml 설정 파일 내용
2
---
3
name: paasta-portal # 서비스 배포이름(필수) bosh deployments 로 확인 가능한 이름
4
5
stemcells:
6
- alias: ((stemcell_alias))
7
os: ((stemcell_os))
8
version: "((stemcell_version))"
9
- alias: binary_storage_stemcells
10
os: ((stemcell_os))
11
version: 3468.51
12
13
14
15
releases:
16
- name: "((releases_name))" # 서비스 릴리즈 이름(필수) bosh releases로 확인 가능
17
version: "2.0" # 서비스 릴리즈 버전(필수):latest 시 업로드된 서비스 릴리즈 최신버전
18
19
update:
20
canaries: 1 # canary 인스턴스 수(필수)
21
canary_watch_time: 5000-120000 # canary 인스턴스가 수행하기 위한 대기 시간(필수)
22
update_watch_time: 5000-120000 # non-canary 인스턴스가 수행하기 위한 대기 시간(필수)
23
max_in_flight: 1 # non-canary 인스턴스가 병렬로 update 하는 최대 개수(필수)
24
serial: false
25
26
instance_groups:
27
########## INFRA ##########
28
- name: mariadb
29
azs:
30
- z6
31
instances: 1
32
vm_type: "((vm_type_small))"
33
stemcell: "((stemcell_alias))"
34
persistent_disk_type: "((mariadb_disk_type))"
35
networks:
36
- name: ((internal_networks_name))
37
templates:
38
- name: mariadb
39
release: "((releases_name))"
40
syslog_aggregator: null
41
42
- name: haproxy
43
azs:
44
- z6
45
instances: 1
46
vm_type: "((vm_type_tiny))"
47
stemcell: "((stemcell_alias))"
48
networks:
49
- name: ((internal_networks_name))
50
- name: ((external_networks_name))
51
static_ips: ((haproxy_public_ip))
52
templates:
53
- name: haproxy
54
release: "((releases_name))"
55
syslog_aggregator: null
56
57
- name: binary_storage
58
azs:
59
- z6
60
instances: 1
61
persistent_disk_type: "((binary_storage_disk_type))"
62
vm_type: "((vm_type_small))"
63
stemcell: binary_storage_stemcells
64
networks:
65
- name: ((internal_networks_name))
66
templates:
67
- name: binary_storage
68
release: "((releases_name))"
69
syslog_aggregator: null
70
71
72
73
######## WEB SERVICE ########
74
75
- name: paas-ta-portal-gateway
76
azs:
77
- z6
78
instances: 1
79
vm_type: "((vm_type_small))"
80
stemcell: "((stemcell_alias))"
81
networks:
82
- name: ((internal_networks_name))
83
templates:
84
- name: paas-ta-portal-gateway
85
release: "((releases_name))"
86
syslog_aggregator: null
87
properties:
88
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
89
90
- name: paas-ta-portal-registration
91
azs:
92
- z6
93
instances: 1
94
vm_type: "((vm_type_small))"
95
stemcell: "((stemcell_alias))"
96
networks:
97
- name: ((internal_networks_name))
98
templates:
99
- name: paas-ta-portal-registration
100
release: "((releases_name))"
101
syslog_aggregator: null
102
properties:
103
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
104
server:
105
port: 2221
106
107
- name: paas-ta-portal-api
108
azs:
109
- z6
110
instances: 1
111
vm_type: "((vm_type_medium))"
112
stemcell: "((stemcell_alias))"
113
networks:
114
- name: ((internal_networks_name))
115
templates:
116
- name: paas-ta-portal-api
117
release: "((releases_name))"
118
syslog_aggregator: null
119
properties:
120
java_opts: "-Xmx900m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
121
cloudfoundry:
122
cc:
123
api:
124
url: ((cf_api_url))
125
uaaUrl: ((cf_uaa_url))
126
sslSkipValidation: true
127
user: # CloudFoundry Login information
128
admin:
129
username: admin
130
password: "((cf_admin_password))"
131
uaaClient:
132
clientId: admin
133
clientSecret: ((cf_uaa_admin_client_secret))
134
adminClientId: admin
135
adminClientSecret: ((cf_uaa_admin_client_secret))
136
loginClientId: admin
137
loginClientSecret: ((cf_uaa_admin_client_secret))
138
skipSSLValidation: true
139
authorization: cf-Authorization
140
abacus:
141
url: ((abacus_url))
142
monitoring:
143
api:
144
url: ((monitoring_api_url))
145
146
- name: paas-ta-portal-common-api
147
azs:
148
- z6
149
instances: 1
150
vm_type: "((vm_type_small))"
151
stemcell: "((stemcell_alias))"
152
networks:
153
- name: ((internal_networks_name))
154
templates:
155
- name: paas-ta-portal-common-api
156
release: "((releases_name))"
157
syslog_aggregator: null
158
properties:
159
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
160
datasource:
161
cc:
162
driver-class-name: org.postgresql.Driver
163
url: jdbc:postgresql://((cf_db_ips)):((cf_db_port))/cloud_controller
164
username: "((cc_db_id))"
165
password: "((cc_db_password))"
166
portal:
167
driver-class-name: com.mysql.jdbc.Driver
168
username: root
169
password: "((mariadb_user_password))"
170
uaa:
171
driver-class-name: org.postgresql.Driver
172
url: jdbc:postgresql://((cf_db_ips)):((cf_db_port))/uaa
173
username: "((uaa_db_id))"
174
password: "((uaa_db_password))"
175
mail:
176
smtp:
177
host: ((mail_smtp_host))
178
port: ((mail_smtp_port))
179
username: ((mail_smtp_username))
180
password: "((mail_smtp_password))"
181
useremail: ((mail_smtp_useremail))
182
properties:
183
auth: ((mail_smtp_properties_auth))
184
starttls:
185
enable: ((mail_smtp_properties_starttls_enable))
186
required: ((mail_smtp_properties_starttls_required))
187
maximumTotalQps: 90
188
authUrl: "http://portal-web-user.((haproxy_public_ip)).xip.io"
189
charset: UTF-8
190
subject: "((mail_smtp_properties_subject))"
191
createUrl: authcreate
192
expiredUrl: authreset
193
inviteUrl: inviteorg
194
195
- name: paas-ta-portal-storage-api
196
azs:
197
- z6
198
instances: 1
199
vm_type: "((vm_type_small))"
200
stemcell: "((stemcell_alias))"
201
networks:
202
- name: ((internal_networks_name))
203
templates:
204
- name: paas-ta-portal-storage-api
205
release: "((releases_name))"
206
syslog_aggregator: null
207
properties:
208
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
209
objectStorage:
210
swift:
211
tenantName: ((binary_storage_tenantname))
212
username: ((binary_storage_username))
213
password: ((binary_storage_password))
214
authMethod: keystone
215
preferredRegion: Public
216
container: portal-container
217
218
- name : paas-ta-portal-log-api
219
azs:
220
- z6
221
instances: 1
222
vm_type: "((vm_type_small))"
223
stemcell: "((stemcell_alias))"
224
networks:
225
- name: ((internal_networks_name))
226
templates:
227
- name: paas-ta-portal-log-api
228
release: "((releases_name))"
229
syslog_aggregator: null
230
properties:
231
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
232
cloudfoundry:
233
cc:
234
api:
235
url: ((cf_api_url))
236
uaaUrl: ((cf_uaa_url))
237
sslSkipValidation: true
238
user: # CloudFoundry Login information
239
admin:
240
username: admin
241
password: "((cf_admin_password))"
242
uaaClient:
243
clientId: login
244
clientSecret: login-secret
245
adminClientId: admin
246
adminClientSecret: "((cf_uaa_admin_client_secret))"
247
loginClientId: login
248
loginClientSecret: login-secret
249
skipSSLValidation: true
250
authorization: cf-Authorization
251
252
- name: paas-ta-portal-webadmin
253
azs:
254
- z6
255
instances: 1
256
vm_type: "((vm_type_small))"
257
stemcell: "((stemcell_alias))"
258
networks:
259
- name: ((internal_networks_name))
260
templates:
261
- name: paas-ta-portal-webadmin
262
release: "((releases_name))"
263
syslog_aggregator: null
264
properties:
265
java_opts: "-Xmx450m -Xss1M -XX:MaxMetaspaceSize=93382K -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -Djdk.tls.ephemeralDHKeySize=2048 -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Xverify:none -XX:ErrorFile=/var/vcap/sys/log/java_error_in_idea_%p.log -XX:HeapDumpPath=/var/vcap/sys/log/java_error_in_idea.hprof"
266
267
- name: paas-ta-portal-webuser
268
azs:
269
- z6
270
instances: 1
271
vm_type: "((vm_type_tiny))"
272
stemcell: "((stemcell_alias))"
273
networks:
274
- name: ((internal_networks_name))
275
templates:
276
- name: paas-ta-portal-webuser
277
release: "((releases_name))"
278
syslog_aggregator: null
279
properties:
280
logPath: "/var/vcap/sys/log/paas-ta-portal-webuser" # WEBUSER는 아파치를 사용함, APACHE 로그 위치
281
webDir: "/var/vcap/packages/apache2/htdocs" # WEBUSER는 아파치를 사용함, APACHE 웹 디렉토리 설정
282
cf:
283
uaa:
284
url: ((cf_uaa_url))
285
clientsecret: ((portal_client_secret))
286
logouturl: ((cf_uaa_logouturl))
287
monitoring: ((portal_webuser_monitoring))
288
quantity: ((portal_webuser_quantity))
289
automaticApproval: ((portal_webuser_automaticapproval))
290
291
292
293
properties:
294
mariadb: # MARIA DB SERVER 설정 정보
295
port: ((mariadb_port)) # MARIA DB PORT 번호
296
admin_user:
297
password: '((mariadb_user_password))' # MARIA DB ROOT 계정 비밀번호
298
host_names:
299
- mariadb0
300
binary_storage: # BINARY STORAGE SERVER 설정 정보
301
proxy_port: 10008 # 프록시 서버 Port(Object Storage >접속 Port)
302
auth_port: 5000
303
username: # 최초 생성되는 유저이름(Object Storage 접속 유저이름)
304
- ((binary_storage_username))
305
password: # 최초 생성되는 유저 비밀번호(Object Storage 접속 유저 비밀번호)
306
- ((binary_storage_password))
307
tenantname: # 최초 생성되는 테넌트 이름(Object Storage 접속 테넌트 이름)
308
- ((binary_storage_tenantname))
309
email: # 최소 생성되는 유저의 이메일
310
- ((binary_storage_email))
311
container: # 최초 생성되는 컨테이너 이름
312
- portal-container
313
binary_desc: # 최초 생성되는 컨테이너에 대한 설>명
314
- "portal binary_storage"
Copied!
  • vsphere : deploy-portal-bosh2.0-vsphere.sh
  • openstack : deploy-portal-bosh2.0-openstack.sh
  • aws : deploy-portal-bosh2.0-aws.sh
각 IaaS 환경에 맞춰 수정후 shell 파일을 실행한다..
bosh 명령문 후에 주석(#)을 사용할경우 오류가 발생한다. 밑의 예시는 vsphere의 환경에서 테스트한 환경이다.
1
#!/bin/bash
2
bosh -e micro-bosh -d paasta-portal deploy paasta-portal-bosh2.0.yml \
3
-o use-public-network-vsphere.yml \
4
-v releases_name="paasta-portal-release"\
5
-v stemcell_os="ubuntu-trusty"\
6
-v stemcell_version="3468.51"\
7
-v stemcell_alias="default"\
8
-v vm_type_tiny="portal_tiny"\
9
-v vm_type_small="portal_small"\
10
-v vm_type_medium="portal_medium"\
11
-v internal_networks_name=service_private \
12
-v external_networks_name=portal_service_public \
13
-v mariadb_disk_type="10GB"\
14
-v mariadb_port="3306"\
15
-v mariadb_user_password="xxxxxxx"\
16
-v binary_storage_disk_type="10GB"\
17
-v binary_storage_username="paasta-portal"\
18
-v binary_storage_password="paasta"\
19
-v binary_storage_tenantname="paasta-portal"\
20
-v binary_storage_email="[email protected]"\
21
-v haproxy_public_ip="115.68.46.216"\
22
-v cf_db_ips="10.30.112.4"\
23
-v cf_db_port="5524"\
24
-v cc_db_id="cloud_controller"\
25
-v cc_db_password="xxxxxxx"\
26
-v cc_driver_name="postgresql"\
27
-v uaa_driver_name="postgresql"\
28
-v uaa_db_id="uaa"\
29
-v uaa_db_password="xxxxxxx"\
30
-v cf_uaa_url="https://uaa.115.68.46.189.xip.io"\
31
-v cf_uaa_logouturl="logout.do"\
32
-v cf_api_url="https://api.115.68.46.189.xip.io"\
33
-v cf_admin_password="xxxxxxx"\
34
-v cf_uaa_admin_client_secret="xxxxxxx"\
35
-v portal_client_secret="xxxxxxx"\
36
-v paas_ta_web_user_url="http://portal-web-user.115.68.46.214.xip.io"\
37
-v abacus_url="http://abacus.115.68.46.214"\
38
-v portal_webuser_quantity=false\
39
-v monitoring_api_url="http://monitoring.115.68.46.214"\
40
-v portal_webuser_monitoring=false\
41
-v mail_smtp_host="smtp.gmail.com"\
42
-v mail_smtp_port="465"\
43
-v mail_smtp_username="PaaS-TA"\
44
-v mail_smtp_password="xxxxxxx"\
45
-v mail_smtp_useremail="[email protected]"\
46
-v mail_smtp_properties_auth="true"\
47
-v mail_smtp_properties_starttls_enable="true"\
48
-v mail_smtp_properties_starttls_required="true"\
49
-v mail_smtp_properties_subject="PaaS-TA User Potal"\
50
-v portal_webuser_automaticapproval=false\
Copied!
release_version : 릴리즈 버전을 입력한다. $bosh releases 명령문으로 확인가능
  • $ bosh releases
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    Name Version Commit Hash
    paas-ta-portal-release 2.0* 00000000
stemcell_os : 스템셀 OS를 입력한다. $bosh stemcells 명령문으로 확인가능 stemcell_version : 스템셀 버전을 입력한다. $bosh stemcells 명령문으로 확인가능(3468.51 verion 사용) stemcell_alias : bosh deploy시 사용할 스템셀 명칭을 정한다.
  • $ bosh stemcells
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    Name Version OS CPI CID
    bosh-vsphere-esxi-ubuntu-trusty-go_agent 3586.26* ubuntu-trusty - sc-109fbdb0-f663-49e8-9c30-8dbdd2e5b9b9
    ~ 3468.51* ubuntu-trusty - sc-bd8fadf2-92f2-495b-b172-d571a388abf5
    ~ 3445.2* ubuntu-trusty - sc-025c70b5-7d6e-4ba3-a12b-7e71c33dad24
    ~ 3309* ubuntu-trusty - sc-22429dba-e5cc-4469-ab3a-882091573277
    (*) Currently deployed
    4 stemcells
internal_networks_name : 내부 ip 할당할 network name $ bosh -e micro-bosh cloud-config로 확인가능 external_networks_name : 외부 ip 할당할 network name $ bosh -e micro-bosh cloud-config로 확인가능
1
$ bosh -e micro-bosh cloud-config
2
- name: service_private
3
subnets:
4
- azs:
5
- z1
6
- z2
7
- z3
8
- z4
9
- z5
10
- z6
11
cloud_properties:
12
name: Internal
13
dns:
14
- 8.8.8.8
15
gateway: 10.30.20.23
16
range: 10.30.0.0/16
17
reserved:
18
- 10.30.0.0 - 10.30.106.255
19
static:
20
- 10.30.107.1 - 10.30.107.255
21
- name: service_public
22
subnets:
23
- azs:
24
- z1
25
- z2
26
- z3
27
- z4
28
- z5
29
- z6
30
cloud_properties:
31
name: External
32
dns:
33
- 8.8.8.8
34
gateway: 115.68.47.161
35
range: 115.68.47.160/24
36
reserved:
37
- 115.68.47.161 - 115.68.47.174
38
static:
39
- 115.68.47.175 - 115.68.47.185
40
type: manual
Copied!
mariadb_ips: Mariadb의 ip 할당, internal_networks_name에 할당된 ip를 사용해야한다. mariadb_disk_type: Mariadb의 persistent_disk용량을 정한다. mariadb_port: Mariadb의 port를 정한다. mariadb_user_password: Mariadb의 비밀번호를 설정한다.(임의값 가능) binary_storage_ips: Binary Storage의 ip 할당, internal_networks_name에 할당된 ip를 사용해야한다. binary_storage_disk_type: Binary Storage의 persistent_disk용량을 정한다. binary_storage_username: Binary Storage의 접속 유저 계정을 정한다. binary_storage_password: Binary Storage의 접속 유저의 비밀번호를 정한다. binary_storage_tenantname: Binary Storage의 접속 테넌트 계정을 정한다. binary_storage_email: Binary Storage 생성되는 유저의 이메일을 정한다. haproxy_ips: Haproxy의 ip 할당, internal_networks_name에 할당된 ip를 사용해야한다.
cf_db_ips: CF Database의 ip를 입력한다. cf_db_port: CF Database의 port를 입력한다. cc_db_id: CF Database의 계정을 입력한다. cc_db_password: CF Database의 비밀번호를 입력한다.\
cc_driver_name: CF Database의 종류를 입력한다. (postgresql, mysql 둘중 하나를 지정해야한다.) uaa_driver_name: UAA Database의 종류를 입력한다. (postgresql, mysql 둘중 하나를 지정해야한다.)
uaa_db_id: UAA Database의 계정을 입력한다. uaa_db_password: UAA Database의 비밀번호를 입력한다.
cf_db_ips: api, uaa가 포함된 deployment내의 database ip주소
cf_uaa_url: "https://uaa.[uaa가 포함된 public ip].xip.io" cf_api_url: "https://api.[api가 포함된 public ip].xip.io"
cf_admin_password: CF 관리자 계정 비밀번호를 입력한다.
cf_uaa_admin_client_secret: uaac admin client의 secret를 입력한다. portal_client_secret: uaac portalclient의 secret를 입력한다.\
paas_ta_web_user_url: Portal Webuser의 Url을 입력한다. abacus_url: Abacus Url을 입력한다. portal_webuser_monitoring : 미터링 페이지 사용 여부를 설정한다. monitoring_api_url: Monitoring Api의 Url을 입력한다. portal_webuser_monitoring: Monitoring 화면 표기 유무를 설정한다.
mail_smtp_host: smtp의 host를 설정한다. mail_smtp_port: smtp의 port를 설정한다. mail_smtp_username: smtp의 계정을 설정한다. mail_smtp_password: smtp의 비밀번호을 설정한다. mail_smtp_useremail: smtp의 email을 설정한다. mail_smtp_properties_auth=: smtp의 auth값을 설정한다. mail_smtp_properties_starttls_enable: smtp의 starttls_enable값을 설정한다. mail_smtp_properties_starttls_required: smtp의 starttls_required값을 설정한다. mail_smtp_properties_subject: 메일제목을 설정한다.
portal_webuser_automaticapproval: 회원가입시 cf에 접속가능 여부 true일경우 관리자포탈에서 승인을 해주어야 접근 가능하다. portal_webuser_monitoring : 모니터링 사용 여부 true일경우 앱 상세정보에서 모니터링창이 활성화가 된다. portal_webuser_quantity : 사용량 조회 창 활성화 여부
  • PaaS-TA Portal을 배포한다.
  • 사용 예시
    1
    $ ./deploy-vsphere.sh
    2
    Using environment '10.30.40.111' as user 'admin' (openid, bosh.admin)
    3
    4
    Using deployment 'paas-ta-portal-v2'
    5
    6
    + azs:
    7
    + - cloud_properties:
    8
    + datacenters:
    9
    + - clusters:
    10
    + - BD-HA:
    11
    + resource_pool: CF_BOSH2_Pool
    12
    + name: BD-HA
    13
    + name: z1
    14
    + - cloud_properties:
    15
    + datacenters:
    16
    + - clusters:
    17
    + - BD-HA:
    18
    + resource_pool: CF_BOSH2_Pool
    19
    + name: BD-HA
    20
    + name: z2
    21
    + - cloud_properties:
    22
    + datacenters:
    23
    + - clusters:
    24
    + - BD-HA:
    25
    + resource_pool: CF_BOSH2_Pool
    26
    + name: BD-HA
    27
    + name: z3
    28
    + - cloud_properties:
    29
    + datacenters:
    30
    + - clusters:
    31
    + - BD-HA:
    32
    + resource_pool: CF_BOSH2_Pool
    33
    + name: BD-HA
    34
    + name: z4
    35
    + - cloud_properties:
    36
    + datacenters:
    37
    + - clusters:
    38
    + - BD-HA:
    39
    + resource_pool: CF_BOSH2_Pool
    40
    + name: BD-HA
    41
    + name: z5
    42
    + - cloud_properties:
    43
    + datacenters:
    44
    + - clusters:
    45
    + - BD-HA:
    46
    + resource_pool: CF_BOSH2_Pool
    47
    + name: BD-HA
    48
    + name: z6
    49
    50
    + vm_types:
    51
    + - cloud_properties:
    52
    + cpu: 1
    53
    + disk: 8192
    54
    + ram: 1024
    55
    + name: minimal
    56
    + - cloud_properties:
    57
    + cpu: 1
    58
    + disk: 10240
    59
    + ram: 2048
    60
    + name: default
    61
    + - cloud_properties:
    62
    + cpu: 1
    63
    + disk: 30720
    64
    + ram: 4096
    65
    + name: small
    66
    + - cloud_properties:
    67
    + cpu: 2
    68
    + disk: 20480
    69
    + ram: 4096
    70
    + name: medium
    71
    + - cloud_properties:
    72
    + cpu: 2
    73
    + disk: 20480
    74
    + ram: 8192
    75
    + name: medium-memory-8GB
    76
    + - cloud_properties:
    77
    + cpu: 4
    78
    + disk: 20480
    79
    + ram: 8192
    80
    + name: large
    81
    + - cloud_properties:
    82
    + cpu: 8
    83
    + disk: 20480
    84
    + ram: 16384
    85
    + name: xlarge
    86
    + - cloud_properties:
    87
    + cpu: 2
    88
    + disk: 51200
    89
    + ram: 4096
    90
    + name: small-50GB
    91
    + - cloud_properties:
    92
    + cpu: 2
    93
    + disk: 51200
    94
    + ram: 4096
    95
    + name: small-50GB-ephemeral-disk
    96
    + - cloud_properties:
    97
    + cpu: 4
    98
    + disk: 102400
    99
    + ram: 8192
    100
    + name: small-100GB-ephemeral-disk
    101
    + - cloud_properties:
    102
    + cpu: 4
    103
    + disk: 102400
    104
    + ram: 8192
    105
    + name: small-highmem-100GB-ephemeral-disk
    106
    + - cloud_properties:
    107
    + cpu: 8
    108
    + disk: 20480
    109
    + ram: 16384
    110
    + name: small-highmem-16GB
    111
    + - cloud_properties:
    112
    + cpu: 1
    113
    + disk: 4096
    114
    + ram: 2048
    115
    + name: caas_small
    116
    + - cloud_properties:
    117
    + cpu: 1
    118
    + disk: 4096
    119
    + ram: 1024
    120
    + name: caas_small_api
    121
    + - cloud_properties:
    122
    + cpu: 1
    123
    + disk: 4096
    124
    + ram: 4096
    125
    + name: caas_medium
    126
    + - cloud_properties:
    127
    + cpu: 2
    128
    + disk: 8192
    129
    + ram: 4096
    130
    + name: service_medium
    131
    + - cloud_properties:
    132
    + cpu: 2
    133
    + disk: 10240
    134
    + ram: 2048
    135
    + name: service_medium_2G
    136
    137
    + vm_extensions:
    138
    + - cloud_properties:
    139
    + ports:
    140
    + - host: 3306
    141
    + name: mysql-proxy-lb
    142
    + - name: cf-router-network-properties
    143
    + - name: cf-tcp-router-network-properties
    144
    + - name: diego-ssh-proxy-network-properties
    145
    + - name: cf-haproxy-network-properties
    146
    + - cloud_properties:
    147
    + disk: 51200
    148
    + name: small-50GB
    149
    + - cloud_properties:
    150
    + disk: 102400
    151
    + name: small-highmem-100GB
    152
    153
    + compilation:
    154
    + az: z1
    155
    + network: default
    156
    + reuse_compilation_vms: true
    157
    + vm_type: large
    158
    + workers: 5
    159
    160
    + networks:
    161
    + - name: default
    162
    + subnets:
    163
    + - azs:
    164
    + - z1
    165
    + - z2
    166
    + - z3
    167
    + - z4
    168
    + - z5
    169
    + - z6
    170
    + cloud_properties:
    171
    + name: Internal
    172
    + dns:
    173
    + - 8.8.8.8
    174
    + gateway: 10.30.20.23
    175
    + range: 10.30.0.0/16
    176
    + reserved:
    177
    + - 10.30.0.0 - 10.30.111.40
    178
    + - name: public
    179
    + subnets:
    180
    + - azs:
    181