Docker 호스트에서 Dockerfile을 사용하여 NetScaler CPX 설치

2017년 7월 18일

중요

NetScaler CPX용 Dockerfile은 폐기되었습니다. Dockerfile을 사용했다면 이제 그 대신 Docker Store에서 NetScaler CPX를 다운로드하여 사용합니다. Docker Store에서 NetScaler CPX를 다운로드하고 Docker에 NetScaler CPX를 배포하는 자세한 방법은 Docker에서 NetScaler CPX 인스턴스 배포를 참조하십시오.

NetScaler CPX는 Dockerfile로도 사용할 수 있습니다. Dockerfile에서 NetScaler CPX 이미지 파일을 작성한 후 Linux 셸 또는 Docker Compose 도구를 사용하여 NetScaler CPX 인스턴스를 배포합니다.

사전 요구 사항

다음을 확인합니다.

  • CPU 1개
  • 2GB RAM
  • Linux Ubuntu 버전 14.04 이상.
  • 이 시스템은 apt-get 명령을 사용하여 업데이트됩니다.
  • 다음 패키지들이 설치되어 있습니다. libc6-dev:i386, gcc-multilib, g++-multilib, lib32ncurses5-dev, zlib1g-dev:i386, libssl-dev:i386, build-essential
  • Linux 호스트 시스템에 Docker가 설치되어 있습니다. Docker를 설치하려면 Linux 셸 프롬프트에서 다음 명령을 실행합니다.
     curl –ssl <https://get.docker.com/> | sh
    

    Linux에서 Docker를 설치하는 것에 대한 자세한 정보는 다음을 확인하십시오. https://docs.docker.com/engine/installation/ubuntulinux/

  • Docker 호스트가 인터넷에 연결되어 있습니다.
  • 루트 사용자로 로그온되어 있습니다.
  • Citrix 담당자로부터 NetScaler CPX Dockerfile을 받아서 Linux Ubuntu 시스템에 복사합니다.

Dockerfile을 사용하여 NetScaler CPX 이미지를 작성하려면

1. NetScaler CPX Dockerfile의 내용물을 추출합니다. 이를 위해, 이미지 파일을 추출한 디렉터리로 이동한 후 다음 명령을 실행합니다.

tar –xvzf <image_file_name>
root@ubuntu:~# cd /var/cpx-build
root@ubuntu:/var/cpx-build# ls
cpx.tar.gz
root@ubuntu:/var/cpx-build# tar –xvzf cpx.tar.gz

2. NetScaler CPX Docker 이미지를 만듭니다. 이미지 파일을 추출한 디렉터리로 이동한 후 다음 명령을 실행합니다.

make
root@ubuntu:/var/cpx-build# cd cpx
root@ubuntu:/var/cpx-build/cpx# ls
Dockerfile  Makefile  netscaler.tar.gz
root@ubuntu:/var/cpx-build/cpx# make

3. NetScaler CPX Docker 이미지를 만든 후 다음 명령을 실행하여 이미지 세부 정보를 볼 수 있습니다.

docker images

예를 들면 다음과 같습니다.

root@ubuntu:~# docker images
REPOSITORY  TAG         IMAGE ID     CREATED    VIRTUAL SIZE
cpx      11.1-48.10   2e97aadf918b  43 hours ago   605.5 MB

이 예제에서 출력의 다음 필드에 주의하십시오.

  • REPOSITORY(저장소). 이미지가 저장되어 있는 이름 공간을 지정합니다.
  • TAG(태그). 설치되어 있는 NetScaler CPX 이미지의 버전을 나타냅니다.
  • IMAGE ID(이미지 ID). Docker 호스트에서 이미지의 고유 ID를 나타냅니다.

NetScaler CPX 인스턴스 배포

NetScaler CPX 이미지를 구했으면 Linux 셸, Docker Compose 도구를 사용하여 NetScaler CPX 인스턴스를 배포할 수 있습니다.

Linux Shell을 사용하여 NetScaler CPX 인스턴스 배포

Linux Shell을 사용하여, NetScaler CPX 이미지를 저장한 디렉터리로 이동한 후 docker run 명령을 사용하여 NetScaler CPX 인스턴스를 배포하고, 외부 통신을 활성화하려면 다음 포트를 개방해야 합니다. HTTP 포트 80, SSH 포트 22, SNMP 포트 161.

docker run -dt -p <port number> --ulimit core=-1 --privileged=true –e <REPOSITORY>:<TAG>
docker run -dt -p 22 -p 80 -p 161/udp --ulimit core=-1 --privileged=true -e EULA=yes cpx:11.1-48.10

docker ps 명령을 사용하여 시스템에서 실행되고 있는 이미지와 표준 포트에 매핑된 포트를 확인할 수 있습니다.

CONTAINER ID    IMAGE         COMMAND       CREATED     STATUS     PORTS     NAMES

6fe01203e7b9  cpx:11.1-48.10  "/bin/sh -c 'bash -C "   7 seconds ago       Up 5 seconds        443/tcp, 0.0.0.0:32769->22/tcp, 0.0.0.0:32768->80/tcp, 0.0.0.0:32768->161/udp   lonely_knuth

Docker Compose를 사용하여 NetScaler CPX 인스턴스 배포

Docker Compose 도구를 사용하여 단일 NetScaler CPX 인스턴스 또는 다중 NetScaler CPX 인스턴스를 프로비전할 수 있습니다. Compose를 사용하여 NetScaler CPX 인스턴스를 프로비전하려면 먼저 NetScaler CPX 이미지, NetScaler CPX 인스턴스용으로 열려는 포트 및 사용자의 NetScaler CPX 인스턴스 권한을 지정하여 Compose 파일을 작성해야 합니다.

다중 NetScaler CPX 인스턴스를 프로비전하려면

1. Compose 파일을 작성합니다. 일반적으로 Compose 파일은 다음과 유사한 형식을 따릅니다.

<service-name>:

      image: <repository>:<tag>

      ports:

     - 22

     - 80

     - 161/udp

     - 36001-36010

      tty: true

      privileged: true

여기서:

  • <service-name>은 프로비전하려는 서비스의 이름입니다.
  • image:<repository>:<tag>는 NetScaler CPX 이미지의 저장소와 버전을 의미합니다.
  • privileged: true는 NetScaler CPX 인스턴스에 모든 루트 권한을 제공합니다.
cpxlb:
    image: cpx:11.1-48.10
    ports:
       - 22
       - 80
       - 161/udp
       - 36001-36010
   tty: true
   privileged: true

참고

단일 NetScaler CPX 인스턴스를 프로비전하고 싶다면 Compose 파일에 다음 줄을 추가해야 합니다.

container_name:

2. 다음 명령을 실행하여 다중 NetScaler CPX 인스턴스를 프로비전합니다.

docker-compose -f <compose_file_name> scale <service-name>=<number of instances> up –d
docker-compose -f docker-compose.yml scale cpxlb=3 up –d

참고

단일 NetScaler CPX 인스턴스를 프로비전하고 싶다면 다음 명령을 실행합니다.

docker-compose -f **up –d**

Docker 호스트에서 Dockerfile을 사용하여 NetScaler CPX 설치