PORCH Administrator Manual

PORCH 구조

아키텍쳐

아키텍쳐(구조도)

아키텍쳐(상세 - Web Layer)

아키텍쳐(상세 - Layer mappings)

관리 포털 페이지

관리 포털 페이지 접속

PORCH 설치가 완료되면 관리 포털 페이지에 접속 할 수 있습니다. 관리 포털 페이지에 접속하기 위해서는 Web Browser가 필요합니다. 관리 포털 페이지는 Html5를 지원하는 Chrome 또는 Firefox를 권장합니다.

관리 포털 페이지에 접속하기 위해서는 80포트와 443 포트가 방화벽에 허용이 되어야 합니다.

로그인

관리 포털 페이지에 접속하게 되면 처음 사용자 로그인 화면을 볼 수 있습니다. 사용자 추가는 해당 매뉴얼에 사용자 메뉴 항목을 참조 바라겠습니다.

관리자 계정으로 접속시 하단에 관리자 로그인 을 클릭하여 admin 계정으로 접속합니다.

서버

로그인이 성공하면 ᅟ등록된 서버 목록을 확인할 수 있습니다. 초기 설치 후 생성한 서버 목록이 없다면 아래와 같이 데이터가 없습니다. 메시지가 보여집니다.

서버 생성

왼쪽 상단에 생성 버튼을 클릭하여 아래와 같이 필요한 정보를 입력하여 신규 서버를 생성합니다.

  • 이름(필수 입력) : 서버에 이름을 입력합니다.
  • 종류 : 자동 설치 할 서버에 machine type을 선택합니다. PM(Phisical Machine) or VM(Virtual Machine)
  • OS : PORCH 가 지원하는 OS 목록은 아래와 같습니다. 미검증”은 검증 시험을 하지 않은 OS이고, ᅟ”검증 완료”는 직접 설치 시험을 완료한 OS 입니다.
OS 지원
CentOS 5.x 미검증
CentOS 6.x / 7.x ᅟ검증 완료
Debian 7(wheezy) / 8(jessie) ᅟ검증 완료
Fedora ᅟ미검증
OpenSuse ᅟ미검증
RHEL 5/6/7 ᅟ미검증
Ubuntu 14.04(trusty)/16.04(xenial) ᅟ검증 완료
Windows 2008/2012 Server ᅟ검증 완료
Windows 7/8/10 for Desktop 미검증
  • Disk Partition Template : Template을 선택하여 Disk Partitioning 이 됩니다
Template Size Filesystem Mount
default ᅟ1G 나머지 swap ext4 swap /
dns ᅟ10G 30G 나머지 swap ext4 xfs swap / /data
ᅟkubemaster ᅟ5G 30G 30G 나머지 swap ext4 - xfs swap / - /data
kumeminion 10G 30G 50G 나머지 swap ext4 - xfs swap / - /data
  • IPMI IP 주소 : IPMI IP 주소를 입력합니다.
  • 배포망 MAC 주소(필수 입력) : 배포망 MAC 주소를 입력합니다.
  • 배포망 IP 주소(필수 입력) :
  • 서비스망 NIC : 서비스망 NIC 를 입력합니다.(uxenos bonding 구성시 bonding nic 2개를 입력합니다. ex) eth1 eth3)
  • 서비스망 IP 주소 : 서비스망 IP 주소를 입력합니다.
  • 서비스망 Netmask : 서비스망 Netmask 를 입력합니다.
  • 서비스망 Gateway : 서비스망 Gateway 를 입력합니다.
  • 설명 : 서버에 대한 설명을 입력합니다.

생성 버튼을 클릭하면 아래와 같이 ᅟ서버 목록에 Created 상태인 생성한 서버를 확인 할 수 있습니다.

서버 설치

서버 준비 버튼을 클릭하게 되면 상태가 Provisioned 상태로 변경되며 설치를 진행할 수 있는 상태가 됩니다. 이 상태에서 배포 대상 서버가 pxeboot 를 한다면 OS 설치가 진행됩니다. OS 배포 메뉴를 이용하여 배포를 하지 않았다면 OS 배포 로그는 생성되지 않습니다.

이제 설치할 클라이언트 서버를 구동하고 설치되는 과정을 감상합니다. 아래는 가상서버를 Provisioned 상태에서 가상서버를 network 부팅하여 설치가 진행되는 과정을 vnc로 접속하여 확인하였습니다.

설치가 완료되어 부팅 후 로그인 화면이 보여지는 것을 확인 할 수 있습니다.

설치가 완료되면 아래와 같이 서버에 상태가 Installed 로 변경됩니다.

서버 수정

수정이 필요한 서버에 수정 버튼 을 클릭하여 서버 정보를 수정합니다.

설치가 완료된 상태에서 설치 유무를 ‘예’에서 ‘아니오’로 변경하게 되면 OS를 다시 설치 할 수 있습니다. 수정한 사항을 반영하기 위하여 확인 버튼을 눌러 적용하게 되면 해당 서버에 상태가 Updated 로 변경이 되는 것을 확인 할 수 있습니다.

서버 삭제

삭제가 필요한 서버에 삭제 버튼을 클릭하여 서버를 삭제 할 수 있습니다.

IPMI 기능

ipmi 기능은 물리버서에 ipmi 설정을 하고 서버 생성에서 ipmi ip 정보를 입력하였을 경우 정상적으로 동작합니다. ipmi 계정정보는 porch config.py 파일을 참조합니다. 설치 매뉴얼에서 확인 할 수 있습니다.

관리 포털페이지에서 서버를 끄고 켤 수 있습니다.

또한 ipmi의 serial console 을 이용하여 console 화면을 관리 포털 페이지에서 보고 조작할 수 있습니다.

OS 배포

배포 대상 서버에 상태가 Provisioned 상태여야만 os 배포가 가능합니다.

OS 선택

배포 대상 서버에 배포할 OS를 선택합니다.

서버 선택

배포 대상 서버를 선택합니다.

OS 배포

OS를 배포하기 전 OS 정보와 서버 정보를 다시 한번 체크합니다. 문제가 없다면 배포 버튼을 클릭하여 OS 배포를 시작합니다. 배포가 시작되면 로그 메뉴에 OS 배포 로그 페이지로 이동되고 OS 배포가 진행되는 과정과 진행 상황을 확인 할 수 있습니다.

아래와 같이 완료 단계까지 진행이 되었다면 서버에 접속하여 설치 정보를 확인합니다.

애플리케이션

애플리케이션 배포를 위해서는 애플리케이션 등록을 해야 됩니다. 마찬 가지로 초기 설치 후 생성된 애플리케이션이 없기에 데이터가 없습니다. 메시지가 보여집니다.

애플리케이션 생성

왼쪽 상단에 생성 버튼을 클릭하여 아래와 같이 필요한 정보를 입력하여 신규 애플리케이션을 생성합니다.

  • 이름(필수 입력) : 애플리케이션 이름을 입력한다.
  • 레포지토리 이름(필수 입력) : 레포지토리 이름을 입력한다.
  • 설명 : 애플리케이션에 대한 설명을 입력한다.

생성 버튼을 클릭하면 아래와 같이 서버 목록에 생성한 애플리케이션을 확인 할 수 있습니다.

애플리케이션 추가

애플리케이션을 생성하면 PORCH 서버에 레포지토리 이름과 동일한 빈 git 레포지토리가 생성됩니다. PORCH 서버에 ssh 접속하여 해당 git 레포지토리에 배포할 ansible playbook 파일을 저장합니다.

$ cd ~
$ git clone https://git.iorchard.co.kr/orchard/playbook-bind.git
$ git clone file:///home/porch/porch/porch/git/bind.gitᅟ
$ cp -a playbook-bind/* bind/
$ cd bind
$ git add *
$ git commit -m '{messages}
$ git push origin master

애플리케이션 태그 자동 생성

배포할 애플리케이션 ansible playbook이 저장되었다면 태그 자동 생성 기능을 이용하여 git tag를 생성합니다. 해당 기능을 이용하여 애플리케이션 정보가 변경되었을 경우 원하는 태그에 애플리케이션을 배포할 수 있습니다. 태그 자동 생성 버튼()을 클릭하여 태그를 생성합니다.

bind 애플리케이션에 경우 실제 배포할 bind 버전 정보를 태그로 지정해야 합니다. ex)9.11.1

아래는 태그 수정을 설명하기 위하여 v1.0 으로 진행하였습니다.

애플리케이션 수정

수정이 필요한 애플리케이션에 수정 버튼을 클릭하여 서버 정보를 수정합니다.

애플리케이션 태그 수정

현재 자동 생성한 태그를 삭제하는 기능이 없어 태그를 수정하기 위해서는 아래와 같이 태그를 삭제하고 다시 태그를 성성해야 합니다. PORCH 서버에 ssh 접속하여 애플리케이션을 저장한 경로로 이동하여 git tag를 삭제합니다.

$ cd ~
$ cd bind
$ git push --delete origin v1.0ᅟ

삭제가 정상적으로 되었다면 애플리케이션 메뉴에 해당 애플리케이션 태그 정보에 삭제한 태그가 사라지고 다시 생성한 태그 정보만 보여지는 것을 확인 할 수 있습니다.

애플리케이션 파일 배포

애플리케이션을 배포하기 전 추가로 배포가 필요한 파일들이 있다면 파일 관리 콘솔 기능을 이용하여 애플리케이션 배포에 필요한 설정파일이나 여러 파일들을 추가로 배포 할 수 있습니다.

파일 관리 콘솔

추가 파일 배포가 필요한 어플리케이션에 파일 배포() 버튼을 클릭 후 콘솔 열기 버튼을 클릭합니다.

아래와 같이 콘솔화면이 보여지게 됩니다. 해당 콘솔은 docker container를 구동하여 해당 container에 접속한 것으로 재접속을 할때마다 호스트네임이 변경되게 됩니다. 배포할 추가 파일을 /NOTADIR 경로에 다운로드 받아 저장하게 되면 해당 경로에 있는 모든 파일들을 원하는 서버에 배포할 수 있습니다. 콘솔을 빠져나가더라도 경로에 있는 파일은 지워지지 않습니다.

파일 다운로드는 scp, wget 등등 리눅스 파일 전송 툴을 이용하여 다운로드 받을 수 있습니다.

서버 선택

배포할 파일들을 파일 관리 콘솔을 이용하여 저장하였다면 콘솔을 나가서 다음 버튼을 클릭하여 파일을 배포할 서버를 선택합니다. 다음 버튼을 클릭하여 파일 배포 단계로 넘어갑니다.

파일 배포

파일을 배포하기 전 어플리케이션 정보와 서버 정보를 다시 한번 체크합니다. 문제가 없다면 다음 버튼을 클릭하여 파일 배포를 시작합니다. 해당 파일이 저장되는 서버에 위치는 최상위 디렉토리(/) 입니다.

파일 배포가 시작되면 파일 배포 로그 rsync 로그를 확인 할 수 있습니다.

서버에 접속하여 정상적으로 파일 배포가 잘 되었는지 확인합니다.

APP 배포

애플리케이션 ansible playbook을 PORCH 서버에 저장하고 태그 생성까지 완료되었다면 등록된 서버들에게 모두 배포가 가능합니다. APP 배포 메뉴로 이동하여 아래 절차로 진행하여 애플리케이션을 배포합니다.

애플리케이션 선택

등록된 애플리케이션 항목 중 배포할 애플리케이션과 배포할 태그를 선택 후 다음 버튼을 클릭합니다.

서버 선택

등록된 서버 중 배포 대상 서버를 선택 후 다음 버튼을 클릭합니다.

애플리케이션 배포

배포를 ᅟ시작하기 전 배포 요약 정보에 애플리케이션 정보와 서버 정보를 다시 한번 합니다. 문제가 없다면 배포 버튼을 클릭하여 애플리케이션 배포를 시작합니다.

애플리케이션 로그

배포를 시작하면 애플리케이션 로그 정보가 보여집니다. ansible playbook task가 실행되는 것을 볼 수 있고 각 task별 진행 과정 및 결과 값을 확인 할 수 있습니다.

애플리케이션 삭제

삭제가 필요한 ᅟ애플리케이션에 삭제 버튼을 클릭하여 서버를 삭제 할 수 있습니다.

로그

ᅟ애플리케이션 배포가 완료되고 화면을 나오더라도 배포 로그 정보를 로그 메뉴에서 확인 할 수 있습니다. OS 배포, 애플리케이션 배포, 파일 배포를한 히스토리를 해당 메뉴에서 모두 볼 수 있고 삭제 할 수 있습니다.

사용자

사용자 메뉴에는 등록된 사용자 정보를 볼 수 있습니다. 초기 설치 후 관리자 계정 admin 정보만 확인 할 수 있습니다.

사용자 생성

왼쪽 상단에 생성 버튼을 클릭하여 사용자를 생성합니다.

  • 아이디(필수 입력) : 아이디를 입력합니다.
  • 비밀번호(필수 입력) : 비밀번호를 입력합니다.(알파벳, 숫자, 특수문자 조합 8자 이상)
  • 비밀번호 재입력(필수 입력) : 비밀번호를 다시 한번 입력합니다.
  • 성함(필수 입력) : 사용자에 성함을 입력합니다.
  • 상태 : 사용자 상태를 변경 할 수 있습니다. Enabled or Disabled or Locked
  • 만료일 : 기본 90일 후로 자동 설정되고 그 이상 설정 할 수도 있습니다.
  • 설명 : 사용자에 대한 설명을 입력합니다.

사용자 상세보기

사용자 기능에 사용자 상세보기 버튼()을 클릭하여 사용자 정보를 상세히 볼 수 있습니다.

사용자 수정

사용자 기능에 사용자 수정 버튼()을 클릭하여 정보를 수정 할 수 있습니다.

사용자 비밀번호 변경

사용자 기능에 사용자 비밀번호 변경()을 클릭하여 비밀 번호를 변경 할 수 있습니다.

사용자 삭제

사용자 기능에 사용자 삭제 버튼()을 클릭하여 사용자를 삭제 할 수 있습니다.

비밀번호

비밀번호 메뉴에서 관리자 계정(admin)에 비밀번호를 변경 할 수 있습니다. 새 비밀번호를 현 비밀번호와 동일하게 변경 할 수 없습니다.

  • 현 비밀번호(필수 입력) : 현재 비밀번호를 입력합니다.
  • 새 비밀번호(필수 입력) : 새 비밀번호를 입력합니다.(알파벳, 숫자, 특수문자 조합 8자 이상)
  • 새 비밀번호 재입력(필수 입력) : 다시 한번 새 비밀번호를 입력합니다.

로그아웃

사용을 종료하고 로그아웃 합니다.