NetScaler MAS를 사용하여 NetScaler CPX 인스턴스와 Mesos, Marathon, InfoBlox 및 Nuage 통합

2016년 6월 30일

네트워크 관리자는 Marathon 스케줄러를 사용하여 Mesos 클러스터에서 응용 프로그램을 배포하고 여러 NetScaler CPX 인스턴스를 프로비전한 다음 응용 프로그램에 대한 트래픽 부하를 분산할 수 있습니다. 배포 환경에서 Nuage VSP 솔루션을 사용하여 각 응용 프로그램 및 NetScaler CPX 인스턴스에 네트워크 연결을 제공할 수 있으며 InfoBlox 솔루션을 사용하여 배포 환경에 DNS 서비스를 설정할 수 있습니다.

NetScaler MAS를 사용하여 NetScaler CPX 인스턴스 및 응용 프로그램을 관리하고, 모니터링하고, 시각화할 수 있습니다.

이 배포 환경에서 다음 작업을 수행합니다.

  1. Mesos 및 Marathon 마스터-슬레이브 클러스터를 설정합니다. 모든 응용 프로그램 및 NetScaler CPX 인스턴스를 Ubuntu 호스트에서 구성해야 하며 이러한 호스트를 Mesos 슬레이브로 구성해야 합니다. Ubuntu 호스트를 Mesos 마스터로 구성하고 Mesos 마스터에 Marathon을 설치해야 합니다. 자세한 내용은 https://open.mesosphere.com/getting-started/install/을 참조하십시오.
  2. 모든 Mesos 슬레이브에서 응용 프로그램 및 NetScaler CPX 인스턴스의 이미지를 저장해야 합니다.
  3. 그런 다음 Marathon CLI 또는 Marathon GUI를 사용하여 응용 프로그램 및 NetScaler CPX 인스턴스를 시작할 수 있습니다. Marathon에서는 NetScaler CPX 인스턴스를 응용 프로그램으로 시작합니다. Marathon에서 응용 프로그램을 실행하는 것에 관한 자세한 내용은 https://mesosphere.github.io/marathon/docs/application-basics.html을 참조하십시오.
  4. Nuage VSP 솔루션에서 VIP 서브넷을 설정합니다. VIP 서브넷은 장래에 모든 Mesos 응용 프로그램에 필요한 VIP 요구 사항을 충족할 수 있을 만큼 충분히 커야 합니다. VIP 서브넷은 어떠한 Mesos 응용 프로그램에서도 사용되지 않아야 하며 VIP 서브넷에서 Nuage 끝점(vport)을 만들지 않아야 합니다.
  5. InfoBlox 솔루션에서 DNS 확인을 위한 DNS 서버를 설정합니다.
  6. NetScaler MAS에 응용 프로그램, Marathon 스케줄러, Nuage 및 InfoBlox 세부 정보를 등록합니다.
  7. NetScaler CPX 인스턴스를 NetScaler MAS에 추가합니다.

참고 사항:

  1. NetScaler CPX IP 주소(관리 IP 주소)는 Mesos 클러스터 내에서 완전히 라우팅 가능해야 합니다.
  2. Mesos 슬레이브에서 NetScaler CPX 인스턴스를 프로비전할 때 다음과 같은 세부 정보를 지정해야 합니다.
    • NetScaler MAS 호스트 이름 또는 IP 주소
    • NetScaler MAS 관리자의 사용자 이름 및 암호
    • NetScaler CPX 인스턴스에서 DNS 확인용으로 구성할 DNS 서버 이름
  3. 응용 프로그램과 Nuage 서브넷 사이에 일대일 매핑 관계가 있어야 합니다.
  4. NetScaler CPX는 Mesos 슬레이브에서 실행되고 있는 Nuage Docker 모니터를 사용하여 네트워크에 연결되어야 합니다.
  5. 연결된 서브넷에 Marathon 응용 프로그램 작업(응용 프로그램의 VIP 주소에서 IP:포트 구성원)만 나타나야 합니다.
  6. Marathon 레이블 중 하나에 Marathon 응용 프로그램 포트를 지정해야 합니다.

Marathon GUI를 사용하여 응용 프로그램 및 NetScaler CPX 인스턴스 시작

브라우저에 Marathon IP 주소 및 포트를 입력하여 Marathon GUI에 액세스할 수 있습니다. 기본적으로 Marathon 포트는 8080입니다.

응용 프로그램 및 NetScaler CPX 인스턴스를 시작하려면:

1. Marathon GUI에 로그온합니다.

2. Applications(응용 프로그램) 탭의 왼쪽 위 창에서 Create(만들기)를 클릭합니다.

3. New Application(새 응용 프로그램) 화면의 Docker container settings(Docker 컨테이너 설정), Environment variables(환경 변수), Labels(레이블), Health checks(상태 확인)Optional settings(옵션 설정) 섹션에서 매개 변수를 지정합니다.

참고

Mesos 및 Marathon 환경에서는 NetScaler CPX 인스턴스를 호스트 네트워킹 모드에서만 실행하도록 지원합니다. 따라서 NetScaler CPX 인스턴스를 시작하려면 Docker container settings(Docker 컨테이너 설정) 섹션의 Network(네트워크) 목록에서 Host(호스트)를 선택합니다.

지역화된 이미지

4. + Create(만들기)를 클릭합니다.

5. 시작한 응용 프로그램이 Applications(응용 프로그램) 아래에 표시됩니다.

지역화된 이미지

NetScaler MAS에 응용 프로그램, Marathon 스케줄러, Nuage 및 InfoBlox 세부 정보 등록

NetScaler CPX 인스턴스를 성공적으로 배포하려면 응용 프로그램, Marathon 스케줄러, Nuage 및 InfoBlox 솔루션의 세부 정보를 NetScaler MAS에 등록해야 합니다.

NetScaler CPX 인스턴스가 NetScaler MAS 연결을 열 수 있도록 네트워크를 구성해야 합니다. NetScaler CPX 컨테이너가 시작되고 Nuage 환경에서 관리 IP 주소를 얻은 후 보안 연결을 사용하여 NetScaler MAS에 등록 요청을 보냅니다.

등록 프로세스의 일부로 NetScaler MAS는 NetScaler CPX 인스턴스에 대한 정보와 NITRO REST API를 사용한 구성을 위해 인스턴스에 연결할 때 사용할 IP 주소 또는 포트를 파악합니다. 그런 다음 NetScaler MAS는 상태 모니터링을 시작합니다.

NetScaler MAS에 세부 정보를 등록하려면

  1. NetScaler MAS에 로그온합니다.
  2. Orchestration(오케스트레이션) > Container Orchestration(컨테이너 오케스트레이션) > Mesos Configuration(Mesos 구성)으로 이동한 다음 Add(추가)를 클릭합니다.
  3. Application Settings(응용 프로그램 설정)에서 다음 매개 변수를 지정합니다.
    • App Default Domain Suffix(응용 프로그램 기본 도메인 접미사). InfoBlox에서 구성되는 응용 프로그램의 DNS 이름을 만드는 데 사용되는 도메인 접미사입니다.
    • VIP Subnet Name(VIP 서브넷 이름). NetScaler MAS에서 응용 프로그램의 VIP를 할당하는 데 사용되는 Nuage 서브넷의 이름입니다. 사전에 Nuage 시스템에서 이 서브넷을 만든 다음 NetScaler MAS에 서브넷을 등록해야 합니다.
  4. Marathon Scheduler Details(Marathon 스케줄러 세부 정보)에서 Marathon URL, 사용자 이름 및 암호를 지정합니다.
  5. Nuage Details(Nuage 세부 정보)에서 VSD URL, 사용자 이름, 암호 및 VSD 엔터프라이즈 ID를 지정합니다.
  6. InfoBlox에서 InfoBlox URL, 사용자 이름 및 암호를 지정합니다.
  7. /etc/resolv.conf 파일에 InfoBlox DNS IP 주소와 도메인 검색 경로를 추가합니다.
    참고: NetScaler Management and Analytics System을 다시 시작할 때 /etc/resolv.conf 파일에서 InfoBlox DNS IP 주소 및 도메인 검색 경로를 유지하려면 /mpsconfig/svm.conf 파일에서 다음 항목을 업데이트합니다. /mps/changenameserver.sh <DNS IP address1> <DNS IP address2> echo “search <domain name>” » /etc/resolv.conf
  8. JSON 스크립트 파일을 사용하여 NetScaler CPX 인스턴스를 시작합니다. 다음은 샘플 JSON 스크립트 파일입니다.
    참고: JSON 스크립트 파일에 다음 줄이 포함되어 있는지 확인하십시오. "cmd" : "cd /var/netscaler/bins/ ; sed -i 's/\# Creating NSPPE startup conf, Read By PE/\# Creating NSPPE startup conf, Read By PE\\\\necho \\"$NSIP $HOSTNAME\\" \>\> \\\\\\/etc\\\\\\/hosts/' ./docker\_startup.sh ; bash -C ./docker\_startup.sh ; bash",

샘플 JSON 스크립트:

    curl -X POST http://10.xx.xx.62:8080/v2/apps -d @cpx_nuage_custom_etchostcorrection.json -H "Content-type: application/json"

    {
          "id": "cpx-host3",
          "cpus": 1,
          "mem": 1024,
          "instances": 2,
          "cmd" : "cd /var/netscaler/bins/ ; sed -i 's/# Creating NSPPE startup conf, Read By PE/# Creating NSPPE startup conf, Read By PE\necho "$NSIP $HOSTNAME" >> \/etc\/hosts/' ./docker_startup.sh ; bash -C ./docker_startup.sh ; bash",
          "constraints": [["hostname", "UNIQUE"]],
          "container": {
               "type": "DOCKER",
               "docker": {
                        "image": “cpx:11.1.40.3",
                        "network": "NONE",
                        "privileged": true,
                        "parameters": [
                            { "key": "tty", "value": "true" }
                        ]
                    }
          },
          "env": {
           "NUAGE-ENTERPRISE": "<nuage_enterprise>",
           "NUAGE-DOMAIN" : "<nuage_domain>",
           "NUAGE-ZONE":"<nuage_zone>",
           "NUAGE-NETWORK":"<nuage_network>",
           "NUAGE-USER":"<nuage_user>",
       "NS_MGMT_SERVER":"<NMAS_server_IP>"
          },
          "labels": {
                     "NETSCALER_AS_APP": "true"
          }
    }

여기서:

  • <nuage_enterprise>는 Nuage 엔터프라이즈 이름입니다.
  • <nuage_domain>은 Nuage 도메인 이름입니다.
  • <nuage_zone>은 Nuage 영역 이름입니다.
  • <nuage_network>는 Nuage 네트워크 세부 정보입니다.
  • <nuage_user>는 Nuage 관리 사용자 이름입니다.
  • <NMAS_server_IP>는 NetScaler MAS 서버 IP 주소입니다.

NetScaler MAS를 사용하여 NetScaler CPX 인스턴스와 Mesos, Marathon, InfoBlox 및 Nuage 통합