[PaaS-TA] BOSH, Application Platform, Portal, Container Platform, Monitoring 설정 값

joyful·2022년 7월 9일
0

oss

목록 보기
14/14

✅ BOSH

1. {IaaS}-vars.yml

  • 공통

    항목설명
    private_cidrBOSH director가 사용할 네트워크 영역
    private_gwBOSH director가 사용할 gateway
    bosh_urlBOSH director가 사용할 ip
    director_nameBOSH director의 이름 지정
    region각 IaaS의 region
    az각 IaaS의 가용 영역
    default_key_nameBOSH vm에 사용되는 key 이름
    default_security_groups각 IaaS 접속에 사용하는 보안 그룹
    private_keyBOSH vm에 사용되는 key의 경로
  • aws

    항목설명
    access_key_idAWS Access Key
    secret_access_keyAWS Secret Key
    subnet_id각 인스턴스의 subnet id
  • openstack

    항목설명
    auth_url• Openstack의 Keystone URL
    • horizon > 관리 > 시스템 > 시스템 정보 > 서비스
    net_id네트워크 ID
    openstack_passwordOpenstack 계정 비밀번호
    openstack_usernameOpenstack 계정 id
    openstack_domain• Openstack 프로젝트의 도메인 이름
    • horizon > 인증 > 프로젝트 > 도메인 이름
    openstack_projectOpenstack의 프로젝트명

2. deploy-{IaaS}.sh

옵션설명
--state• Deployment의 state 파일 경로
• BOSH 설치 명령어 실행 시 생성되는 파일
• 설치된 BOSH의 IaaS 설정 정보 저장
-l, --var-fileYAML 파일에 작성한 변수 읽어올 때 사용
--vars-store• 인증 키 및 Job Password 파일 경로
• BOSH 설치 명령어 실행 시 생성되는 파일
• 존재 시 수정하지 않음
• 설치된 BOSH의 내부 컴포넌트가 사용하는 인증서 및 인증정보 저장
-o• BOSH 설치 시 적용하는 Operation 파일 설정 시 사용
• IaaS별 CPI, Jumpbox-user, CredHub 등의 설정 적용 가능
-v• BOSH 설치 시 적용하는 변수 또는 Operation 파일에 변수 설정 시 사용
• Operation 파일 속성에 따라 필수 여부 달라짐
$ bosh create-env bosh.yml \                       
--state=openstack/state.json \			# BOSH Latest Running State, 설치 시 생성, Backup 필요
--vars-store=openstack/creds.yml \		# BOSH Credentials and Certs, 설치 시 생성, Backup 필요
-o openstack/cpi.yml \				    # Openstack CPI 적용
-o uaa.yml \					            # UAA 적용
-o credhub.yml \				            # CredHub 적용
-o jumpbox-user.yml \				        # Jumpbox-user 적용
-o openstack/disable-readable-vm-names.yml \	# VM 명을 UUIDs로 적용
-l openstack-vars.yml				        # OpenStack 환경에 BOSH 설치시 적용하는 변수 설정 파일

3. CredHub

  • CredHub은 인증정보
  • BOSH 설치 시 Operation 파일로 credhub.yml을 추가
  • BOSH 설치 시 credhub.yml을 적용 시 PaaS-TA 설치 시 PaaS-TA에서 사용하는 인증정보(Certificate, Password)를 CredHub에 저장
    • PaaS-TA 인증정보가 필요할 때 CredHub을 사용하며, CredHub CLI를 통해 CredHub에 로그인하여 인증정보 조회, 수정, 삭제 가능

✅ Application Platform, AP

1. {IaaS}-cloud-config.yml

PaaS-TA AP를 설치하기 위한 IaaS 관련 Network, Storage, VM 관련 설정을 Cloud Config로 정의

  1. 공통

    1. azs > cloud_properties
      • availability_zone :: 가용 영역
    2. networks > subnets
      • reserved :: 예약된 ip 주소 범위(사용불가)
        • vm에 접속 시 필요한 ip 지정해주어야 함
      • static :: ip를 할당하지 않은 vm들이 사용 가능한 ip 주소 범위
        • 해당 ip 주소 범위에서 사용중인 ip 제외

          ※ BOSH director는 reserved 영역과 static 영역을 제외한 범위에서 vm에 ip 할당

  2. aws

    • networks > subnets > cloud_properties
      • subnet :: 서브넷 ID
  3. openstack

    • networks > subnets > cloud_properties
      • net_id :: 네트워크 ID

2. paasta/vars.yml

항목설명
haproxy_public_ipApplication Platform의 public ip
- aws > 탄력적 IP 에서 등록하여 사용
haproxy_public_network_nameApplication Platform의 Public network명
- vip :: public으로 사용하겠다는 의미(default)
- openstack > public ip가 아닌 private ip만 사용할 경우 사용하는 network명으로 변경 필요
uaa_*Portal-UI 관련 도메인 주소 변경 필요
- ip :: common_vars.yml에서 지정해주었던 값
- xip를 nip로 변경(PaaS-TA에서 제공되는 기본 도메인 사용 시)
xxx_instances• 해당 vm의 instance 수
• 가용 존보다 적으면 안 됨
nats_azs• Nats 가용 존 배열
• 해당 존을 이용해 instances의 수 만큼 vm 생성
nats_instances• Nats 인스턴스 수
• azs의 수 보다 작을 시 오류 발생

3. common-vars

모든 배포에 공통적으로 사용되는 변수

항목설명
bosh_ipBOSH에서 사용하는 ip
system_domainApplication Platform의 public ip 예) xx.xx.xxx.xxx.nip.io
portal_web_user_ipPortal-UI의 public ip 주소
portal_web_user_url사용자 portal 접속 도메인

4. cf push

  • --random-route 옵션
    • 모든 HTTP 경로에서 HOSTNAME을 설정하거나 재정의
    • 모든 TCP 경로에서 PORT를 설정하거나 재정의
    • PORT 및 HOSTNAME 무작위로 생성(default = true)
      • app 배포 시 manifest 파일 내 --random-routefalse로 지정 필요
$ vi manifest.yml

    applications:
    - name: spring-music
      memory: 1G
      random-route: false
      path: build/libs/spring-music-1.0.jar
      env:
        JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{enabled: false}'
        SPRING_PROFILES_ACTIVE: http2
  

✅ Portal-UI

Application Platform 배포 후 생성된 VM들에서 값 관련 정보를 획득하여 변경

1. common_vars.yml

항목설명
paasta_nats_ipApplication Platform의 nats vm ip
paasta_nats_password• PaaS-TA Nats Password
• CredHub 로그인 > credhub get -n /micro-bosh/paasta/nats_password
paasta_database_ipsApplication Platform의 database vm ip

2. portal-ui/vars.yml

항목설명
portal_default_api_name• portal API 명칭
• 배포한 PaaS-TA 버전과 동일하게 명시(권장)
portal_default_api_url• portal API url
• portal API에서 사용할 ip를 사용하여 지정
apache_xxx_limit_request_body주석에 있는 값으로 지정(권장)

✅ Portal-API

1. portal-api/vars.yml

  • haproxy_public_ips :: portal API에서 사용하는 public ip
  • <XXX> 로 되어있는 부분은 주석 참고하여 지정

✅ Container Platform, CP

1. paasta-container-service-vars-aws.yml

항목설명
credhub_admin_client_secret• bosh director 배포 시 생성되는 정보
• {IaaS}/creds.yml에서 검색하여 입력
• bosh int 명령어를 통해 확인
k8s_api_server_ipmaster node의 public ip
  • 컨테이너 서비스(CaaS) UAA Client 등록
    • <클라이언트 비밀번호> :: uaac 클라이언트 secret
      • common-vars.yml의 uaa_client_portal_secret값을 입력

✅ Monitoring

항목입력값
prometheus_ip
kubernetes_ip
cassbroker_ip
master node 또는 worker node의 public ip
kubernetes_tokenContainer Platform에서 생성한 admin token
profile
기쁘게 코딩하고 싶은 백엔드 개발자

0개의 댓글