Product Documentation

NetScaler MAS와 OpenStack Heat 서비스 통합

Jul 18, 2017

OpenStack Neutron LBaaS는 부하 분산, SSL 오프로딩 및 콘텐츠 스위칭과 같은 핵심 부하 분산 서비스를 응용 프로그램에 제공합니다. LBaaS는 RESTful API를 통해 관리되며 API를 통해 테넌트가 REST 호출을 수행하여 LBaaS 개체를 생성, 업데이트 및 삭제할 수 있습니다. LBaaS가 부하 분산 서비스를 제공하기 때문에 오케스트레이션 프로세스 중에 고급 NetScaler 기능을 사용할 수 없습니다. NetScaler Heat 플러그인은 이러한 한계를 극복합니다.

Heat 오케스트레이션 서비스

OpenStack Heat 오케스트레이션 서비스를 사용하면 템플릿을 기반으로 복잡한 클라우드 응용 프로그램을 배포할 수 있습니다. Heat 오케스트레이션 템플릿(HOT)은 사람이 읽고 쓸 수 있는 텍스트 파일로 클라우드 응용 프로그램의 인프라를 기술하며 버전 제어 도구로 관리할 수 있습니다. 이러한 템플릿을 작성하는 데에는 구조화된 언어인 YAML이 사용됩니다. HOT 템플릿을 사용하여 대부분의 OpenStack 리소스 유형을 만들 수 있으며 템플릿 내에 정의된 리소스 간의 관계를 지정할 수 있습니다. NetScaler Heat 플러그인을 사용하여 모든 NetScaler 인스턴스에서 고급 ADC(응용 프로그램 전달 컨트롤러) 기능을 구성할 수 있습니다.

NetScaler StyleBook

NetScaler MAS StyleBook을 사용하여 NetScaler ADC 기능을 만들고 구성할 수 있습니다. Heat 템플릿과 마찬가지로 StyleBook도 YAML로 작성됩니다. 각 기능에 대해 별도의 StyleBook을 만들 수 있으며 단일 StyleBook을 사용하여 여러 NetScaler 인스턴스에 구성을 배포할 수 있습니다. 

NetScaler가 OpenStack과 통합되는 동안에는 NetScaler MAS가 모든 NetScaler MAS StyleBook을 Heat 서비스의 리소스로 게시합니다. 여기에는 NetScaler MAS와 함께 제공되는 StyleBook과 나중에 사용자가 만든 StyleBook이 모두 포함됩니다. Heat 템플릿을 사용하면 이러한 StyleBook 리소스를 사용하여 NetScaler의 고급 기능을 구성할 수 있습니다. 

Heat를 사용하여 NetScaler 인스턴스를 구성하는 워크플로

다음 순서도에서는 Heat 스택을 배포하기 위한 워크플로를 보여줍니다.

localized image

클라우드 관리자로 다음 작업을 수행하십시오.

OpenStack에서 Heat 서비스를 구성하려면

       1.  OpenStack용 NetScaler 번들을 다운로드합니다.

            OpenStack에 NetScaler 번들을 설치합니다. NetScaler MAS에서 Downloads(다운로드)로 이동하여 NetScaler 드라이버 번들을 다운로드하고 번들 압축을 푼 다음 번들의 Heat 폴더 안에 있는 내용물을 OpenStack의 Heat 엔진 리소스 디렉터리에 복사합니다. 디렉터리 경로는 다음과 같습니다.           

           /opt/stack/heat/heat/engine/resources/netscaler_resources

       2.  heat.conf 파일에서 "netscaler_plugin" 섹션을 만들고 해당 섹션에서 다음과 같은 매개 변수를 업데이트합니다.

[netscaler_plugin]

               a. 통신이 http인 경우 다음과 같이 매개 변수를 업데이트합니다.

                         NMAS_BASE_URI=

                         NMAS_USERNAME=

                         NMAS_PASSWORD=

               b. 통신이 https인 경우 다음과 같이 매개 변수를 업데이트합니다.

                        NMAS_BASE_URI=https://common_name_used_in_certificate>

                         NMAS_USERNAME=

                         NMAS_PASSWORD=

                         SSL_CERT_VERIFY=

                         CERT_FILE_PATH= 

               사용자가 ssl_cert_verify를 "False"로 설정하면 NetScaler MAS가 요청 호출에서 verify=False를 전송하게 되며, SSL 인증서 유효성 검사가 사용되지 않습니다. ssl_cert_verify가 "True"로 설정되고 cert_file_path 항목이 있으면 NetScaler MAS가 이 경로를 요청의 verify 매개 변수로 전송하고, 그렇지 않은 경우에는 NetScaler MAS가 verify=True를 전송합니다.

               참고: "고가용성" 모드로 NetScaler MAS를 배포하려면 heat.conf 파일에서 다음 매개 변수를 업데이트합니다.

          NMAS_BASE_URI=<프런트 엔드 가상 서버의 ip 주소>

       3.  OpenStack에서 Heat 서비스를 다시 시작합니다.

            OpenStack에서 NetScaler Heat 서비스를 다시 시작하면 정의된 모든 NetScaler MAS StyleBook을 Heat의 리소스로 가져옵니다. 또한 NetScaler 네트워크 리소스 및 인증서 리소스를 OpenStack의 NetScaler Heat 리소스로 가져옵니다. 

       4.  NetScaler MAS에 OpenStack을 등록합니다.

            1.  NetScaler MAS에서 Orchestration(오케스트레이션) > Cloud Orchestration(클라우드 오케스트레이션) > OpenStack으로 이동한 다음 Configure OpenStack Settings(OpenStack 설정 구성)를 클릭합니다.

             2. Configure OpenStack Settings(OpenStack 설정 구성) 페이지에서 매개 변수를 설정하여 OpenStack을 구성할 수 있습니다. 이 페이지에는 Default(기본값)와 Customized(사용자 지정)의 두 가지 옵션이 있습니다.

             3. OpenStack 서비스가 기본 포트에서 실행되는 경우 Default(기본값)를 선택합니다. 다음 매개 변수를 입력합니다.

                    a. OpenStack 컨트롤러 IP 주소

                    b. 관리 사용자 이름

                    c. 암호

                    d. OpenStack 관리 테넌트

                    e. NetScaler 드라이버 및 Heat 암호

                    참고: 이 암호는 heat.conf 파일에 입력한 것과 동일한 암호(NMAS_PASSWORD)입니다.

       5.  서비스 패키지를 만들고 테넌트와 함께 SLA를 정의합니다. 

            NetScaler MAS에서 테넌트는 OpenStack 등록 과정에서 각 사용자에 대해 생성되며, 테넌트 정보는 LBaaS 드라이버와 Heat 플러그인 모두에서 사용됩니다. Heat 플러그인에서는 이 정보를 사용하여 NetScaler MAS에 연결하여 StyleBook을 OpenStack의 Heat 리소스로 가져옵니다.

            참고: NetScaler MAS 및 OpenStack에서 서비스 패키지 및 기타 사전 구성 작업을 만드는 방법에 대한 자세한 내용은 NetScaler MAS와 OpenStack 플랫폼 통합을 참조하십시오.

       6.  NetScaler MAS의 모든 관련 Stylebook을 OpenStack Heat의 리소스로 가져오는지 확인합니다. 또한 NetScaler 네트워크 리소스 및 NetScaler 인증서 리소스를 OpenStack Heat의 리소스로 가져오는지 확인합니다.

메모

현재 NetScaler MAS와 함께 제공되는 StyleBook만 사용할 수 있습니다.

이제 테넌트가 OpenStack에서 Heat 템플릿을 만들고 필요한 Heat 매개 변수의 값을 입력하고 Heat 스택을 배포할 수 있습니다. Heat 스택이 배포되면 구성이 NetScaler MAS로 푸시되고 필요한 NetScaler 인스턴스가 구성됩니다.

Heat 템플릿을 준비하고 Heat 스택을 시작하려면

  1. OpenStack에서 테넌트가 Heat 리소스를 사용하여 Heat 오케스트레이션 템플릿(HOT)을 만들 수 있습니다. 
  2. OpenStack Horizon에서 테넌트 관리자는 Project(프로젝트) Orchestration(오케스트레이션) > Stacks(스택)로 이동하여 Heat 템플릿을 만들고 Heat 스택을 시작할 수 있습니다. HOT를 만드는 방법에는 두 가지가 있습니다. 
    • 파일 - 로컬 디렉터리에서 업데이트된 템플릿을 선택합니다.
    • 직접 입력 - 창의 템플릿에서 YAML 콘텐츠를 복사하여 붙여 넣습니다.

참고: 스택을 성공적으로 배포한 후 테넌트는 Change Stack Template(스택 템플릿 변경)을 사용하여 스택을 업데이트할 수 있습니다. 하지만 스택을 생성하는 과정 초기에 지정된 서브넷 정보와 가상 IP 주소(VIP)는 수정할 수 없습니다.

테넌트는 스택을 배포한 후 NetScaler MAS에서 Orchestration(오케스트레이션) > Cloud Orchestration(클라우드 오케스트레이션) > OpenStack > Requests(요청)로 이동하여 작업 목록을 확인할 수 있습니다. 또한 NetScaler MAS에서 Applications(응용 프로그램) Configuration(구성)으로 이동하여 NetScaler 인스턴스가 StyleBook configpack 형식으로 성공적으로 구성되었는지 확인할 수 있습니다.

NetScaler MAS StyleBook의 예

다음 이미지에서는 NetScaler MAS StyleBook이 구성되는 방식의 예를 보여 주며 구성 요소를 간략하게 설명합니다. NetScaler MAS StyleBook 및 제공된 StyleBook 사용 방법에 대한 자세한 내용은 StyleBook을 참조하십시오.

localized image

Heat 템플릿의 예 

다음 이미지에서는 YAML로 정의된 Heat 템플릿의 구조를 보여 주며 Heat 리소스로 가져온 StyleBook 리소스 및 NetScaler 네트워크 리소스를 나타냅니다. 

localized image

Heat 서비스에 대한 정보와 템플릿을 만드는 방법에 대한 자세한 내용은 OpenStack Heat 설명서를 참조하십시오.