본문 바로가기

카테고리 없음

DUCP (Docker Universal Control Plane) - Part 1

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 등의 기능을 위한 메뉴가 있음.