Today Key : DUCP, UCP, Docker, Universal, Control, Plane, 도커, 클러스터, CaaS
이번 포스팅은 Docker의 Enterprise의 On-Promise 솔루션인 DUCP에 대한 첫 번째 포스팅입니다.
UCP의 첫 번째 포스팅에서는 UCP에 대한 간략한 소개 내용과 Controller 노드의 설치에 대한 내용입니다.
이어질 UCP 포스팅에서는 Controller Node 이외의 설치 및 기능에 대해서 알아 볼 예정입니다..
DUCP (Docker Universal Control Plane)
▪ Enterprise 의 On-Promise 솔루션
▪ Production 환경에서 UCP를 사용하여 Docekrized Application들을 배포하고 관리 가능
▪ Agaility & Portability 제공
▪ Provision, Cluster Docker Host, Resource에 디자인 된 Docker Native 솔루션
▪ Docker API를 모두 지원
UCP 아키텍처
Docker UCP는 다수의 노드로 구성된 클러스터로, 각 노드는 Commercially Supported (CS) Docker Engine이 설치
클러스터를 구성하는 노드는 다음의 3개의 노드로 구분할 수 있음.
▪ UCP controller node
사용자의 요청을 받아서 UCP Node를 제어하는 역할
▪ UCP replica nodes
Controller의 High-availability를 위한 Node
▪ UCP nodes
Container가 실제 실행될 노드
UCP 요건
▪ 하드웨어 및 소프트웨어
- 1.50 GB 메모리
- 3.00 GB 이상의 여유 디스크 용량
- 다음과 같은 OS 버전 설치
RHEL 7.0, 7.1
Ubuntu 14.04 LTS
CentOS 7.1
Kernel version 3.10 or higher
- CS Docker Engine
※ CS Engine : Commercially Supported Docker Engine
▪ 서비스 포트
- UCP 서비스를 위하여 다음과 같은 서비스 포트를 사용
▪ Subject alternative names (SANs)
- UCP에서 각 노드 간의 통신은 Mutual TLS로 보호되며, TCL 설정은 UCP 설치
- 이를 위해, UCP의 모든 클라이언트는 UCP Swarm Root CA에 서명된 Swarm TLS Certificate 체인을 사용
- Ceritificate system 제공하기 위해 SAN을 사용
- 즉, UCP Node간의 통신 보호를 위한 시스템을 위해서 사용
▪ IP address & FQDN 설정
- UCP install 명령은 FQDN을 사용하여 Host를 찾음.
- FQDN이 설정되지 않은 경우에는 설치 시에 Host 주소를 입력하라는 메시지가 표시
- 설치 시에 --host-address 옵션 사용 가능
- AWS, Digital Ocean같은 클라우드 환경에서 설치 시에 Private IP를 할당 받게 되는 경우에는 모든 node간의 통신이 되어야
UCP 동작이 가능
▪ Data volumes
- UCP는 데이터 유지를 위해서 특정 볼륨을 사용하기 때문에 Production을 위한 UCP 설치 시에는 다음과 같은 볼륨을 생성
- 만약 이러한 볼륨 생성하지 않은 경우, ucp install 시에 default volume driver/flags를 사용하여 만들어짐.
UCP 설치 단계 [Controller 설치까지]
UCP를 테스트하기 위한 설치 방법으로 Windows나 MAC에서 boot2docker를 사용하여 설치하는 방법과 Production 환경에서의
UCP를 설치하는 방법이 있음. Production 환경의 설치 중 아래의 6개 단계까지 진행을 하면 Production 환경에서의 UCP Controller Node를 설치할 수 있음.
○ 테스트용 설치 링크 : https://docs.docker.com/ucp/evaluation-install/
○ Production 환경에서의 설치
Step 1
▪ 필요한 서비스 포트 오픈(방화벽 등)
Step 2
▪ CS Docker Engine 설치
: https://docs.docker.com/docker-trusted-registry/install/install-csengine/
Step 3
▪ Customize user-named volumes (optional)
Step 4
▪ Customize the CA used (optional)
Step 5
▪ Install the UCP controller
Step 6
▪ License your installation
: https://hub.docker.com/
※ 참조 : https://docs.docker.com/ucp/production-install/
UCP 실행
◎ 설치 환경
- Microsoft Azure
▪ 설치 후, 접속 화면
▪ Dashboard
- 현재 UCP에 대한 정보를 확인할 수 있음.
- 초기 설치 시에, UCP 구동을 위해서 Controller Node는 7개의 이미지로 7개의 Container가 기본 동작
※ UCP Images
※ UCP 기본 Container
▪ UCP에서 지원되는 기능들에 대한 메뉴
- Application, Container 등의 기능을 위한 메뉴가 있음.