KR102554198B1 - Test bed system and its control method - Google Patents

Test bed system and its control method Download PDF

Info

Publication number
KR102554198B1
KR102554198B1 KR1020210094716A KR20210094716A KR102554198B1 KR 102554198 B1 KR102554198 B1 KR 102554198B1 KR 1020210094716 A KR1020210094716 A KR 1020210094716A KR 20210094716 A KR20210094716 A KR 20210094716A KR 102554198 B1 KR102554198 B1 KR 102554198B1
Authority
KR
South Korea
Prior art keywords
iaas
node
test bed
bed system
node group
Prior art date
Application number
KR1020210094716A
Other languages
Korean (ko)
Other versions
KR20230013802A (en
Inventor
이정복
이어형
손준호
조충희
Original Assignee
주식회사 카카오엔터프라이즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오엔터프라이즈 filed Critical 주식회사 카카오엔터프라이즈
Priority to KR1020210094716A priority Critical patent/KR102554198B1/en
Publication of KR20230013802A publication Critical patent/KR20230013802A/en
Application granted granted Critical
Publication of KR102554198B1 publication Critical patent/KR102554198B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

본 발명은 가상화 기술에 기초하여 IaaS 시스템을 테스트할 수 있는 테스트베드 시스템에 관한 것이다. 보다 구체적으로 본 발명은, 마스터 노드 그룹; 상기 마스터 노드 그룹에 의해 제어되는 제 1 및 제 2 워커 노드 그룹; 및 상기 제 2 워커 노드 그룹과 연결되는 적어도 하나의 스위치를 포함하는 스위치 그룹을 포함하되, 상기 마스터 노드 그룹, 상기 제 1 및 제 2 워커 노드 그룹에 포함되어 있는 노드는, 가상 머신(Virtual Machine, VM)으로 구성되고, 상기 제 2 워커 노드 그룹은 적어도 하나의 가상 머신을 생성 및 구동하는 적어도 하나의 컴퓨트 노드를 포함하며, 상기 제 1 워커 노드 그룹은 상기 적어도 하나의 가상 머신의 운영을 위한 적어도 하나의 컨트롤러 노드를 포함하도록 구성되는, 클라우드 환경 기반 IaaS 개발 테스트베드 시스템에 관한 것이다.The present invention relates to a test bed system capable of testing an IaaS system based on virtualization technology. More specifically, the present invention is a master node group; first and second worker node groups controlled by the master node group; and a switch group including at least one switch connected to the second worker node group, wherein the nodes included in the master node group and the first and second worker node groups are virtual machines (virtual machines, VM), the second worker node group includes at least one compute node for generating and running at least one virtual machine, and the first worker node group is configured to operate the at least one virtual machine. It relates to a cloud environment-based IaaS development test bed system configured to include at least one controller node.

Figure R1020210094716
Figure R1020210094716

Description

테스트베드 시스템 및 그것의 제어 방법{TEST BED SYSTEM AND ITS CONTROL METHOD}Test bed system and its control method {TEST BED SYSTEM AND ITS CONTROL METHOD}

본 발명은 클라우드 네이티브 환경 상에서 가상화된 컴퓨팅 인프라(virtualized computing infrastructure)에 기반한 시스템에 관한 것으로, 보다 구체적으로는 IaaS(Infrastructure as a service) 서비스를 개발할 수 있는 테스트를 지원함으로써 서비스/제품 개발 및 시험을 쉽게 수행할 수 있도록 하기 위한 클라우드 기반의 컴퓨팅 시험 개발 환경(Testbed) 시스템에 관한 것이다.The present invention relates to a system based on a virtualized computing infrastructure in a cloud-native environment, and more specifically, by supporting tests capable of developing IaaS (Infrastructure as a service) services, service/product development and testing. It is about a cloud-based computing test development environment (Testbed) system to make it easy to perform.

클라우드(Cloud)란 정보가 인터넷 상의 서버에 반영구적으로 저장되고, 데스크톱, 태블릿, 컴퓨터, 노트북, 넷북, 스마트폰 등의 IT 기기 등과 같은 클라이언트에는 일시적으로 보관되는 컴퓨터 환경으로서, 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있는 컴퓨팅 환경을 일컫는다. 클라우드 환경은 과거 물리적 서버 기반의 운용 방식에서 점차 가상화 기술을 접목하여 유연성을 확대하고 있다.Cloud is a computer environment in which information is stored semi-permanently on servers on the Internet and temporarily stored on clients such as IT devices such as desktops, tablets, computers, laptops, netbooks, and smartphones. It refers to a computing environment in which data is stored on a server on the computer and this information is available anytime, anywhere through various IT devices. The cloud environment is expanding flexibility by gradually applying virtualization technology from the past physical server-based operation method.

클라우드 운영에 있어서는 서버, 스토리지, 네트워크 자원 등이 필요하게 되고, 각 자원들을 제어하고, 더 나아가 이들을 통합적으로 관리하고 운영할 수 있는 소프트웨어가 필요하게 되는데, 통상 이들을 클라우드 운영체제(OS; Operating System)라 칭한다.In cloud operation, servers, storage, network resources, etc. are required, and software that can control each resource and further manage and operate them in an integrated manner is required. call

클라우드 컴퓨팅 환경이 보편화 되면서 마이크로소프트, 아마존, VMware등 많은 소프트웨어 기업들이 상용 클라우드 OS를 제공하고 있다. 그러나 한편으로는 오픈 소스로 무게 중심이 쏠리면서 HP, RedHat 등 수많은 오픈 소스 기반 소프트웨어 기업들을 중심으로 오픈소스 클라우드 운영체제를 지원하고 있다.As the cloud computing environment becomes common, many software companies such as Microsoft, Amazon, and VMware are providing commercial cloud OS. However, on the other hand, as the center of gravity is focused on open source, open source cloud operating systems are supported by numerous open source-based software companies such as HP and RedHat.

클라우드 컴퓨팅 환경이 보편화되고 이러한 환경에 기초한 IaaS 서비스 개발이 활발해 짐에 따라, 개발한 IaaS 서비스를 다양한 환경 및 조건에서 테스트할 수 있는 시스템에 대한 필요성이 높아지고 있다.As the cloud computing environment becomes more common and the development of IaaS services based on this environment becomes more active, the need for a system capable of testing the developed IaaS service in various environments and conditions is increasing.

이에 따라, 다양한 환경과 조건 상에서 간편하게 IaaS 서비스를 테스트할 수 있는 시스템에 대한 연구가 요구되는 실정이다.Accordingly, research on a system that can easily test IaaS services under various environments and conditions is required.

본 발명은 클라우드 환경 기반에서 동작하는 가상 실행 요소를 활용하여 가상의 컴포넌트들을 구성하고 이를 바탕으로 다양한 IaaS(Infrastructure-as-a-service)의 기능 시험 및 새로운 기능을 개발할 수 있는 가상화 클라우드 환경 기반 네트워크 컴퓨팅 개발 테스트베드 시스템을 제공한다.The present invention configures virtual components by utilizing virtual execution elements operating in a cloud environment, and based on this, a network based on a virtualized cloud environment capable of testing various IaaS (Infrastructure-as-a-service) functions and developing new functions. It provides a computing development test bed system.

본 발명은 사용자 입장에서 IaaS 시스템을 개발하는데 필요한 새로운 시험개발환경을 준비하기 위한 많은 시간과 비용을 절감할 수 있는 클라우드 환경 기반 IaaS 테스트베드 시스템을 제공한다.The present invention provides a cloud environment-based IaaS test bed system that can save a lot of time and money for preparing a new test development environment necessary for developing an IaaS system from the user's point of view.

본 발명은 멀티 테넌트 지원이 가능하고, 적은 개수의 하드웨어 장치 만으로도 손쉽게 구현 가능한 클라우드 환경 기반 IaaS 테스트베드 시스템을 제공한다.The present invention provides a cloud environment-based IaaS test bed system that can support multi-tenants and can be easily implemented with only a small number of hardware devices.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.

상기 또는 다른 과제를 해결하기 위해 본 발명의 일 측면에 따르면, 마스터 노드 그룹; 상기 마스터 노드 그룹에 의해 제어되는 제 1 및 제 2 워커 노드 그룹; 및 상기 제 2 워커 노드 그룹과 연결되는 적어도 하나의 스위치를 포함하는 스위치 그룹을 포함하되, 상기 마스터 노드 그룹, 상기 제 1 및 제 2 워커 노드 그룹에 포함되어 있는 노드는, 가상 머신(Virtual Machine, VM)으로 구성되고, 상기 제 2 워커 노드 그룹은 적어도 하나의 가상 머신을 생성 및 구동하는 적어도 하나의 컴퓨트 노드를 포함하며, 상기 제 1 워커 노드 그룹은 상기 적어도 하나의 가상 머신의 운영을 위한 적어도 하나의 컨트롤러 노드를 포함하도록 구성되는, 클라우드 환경 기반 IaaS 개발 테스트베드 시스템을 제공한다.According to one aspect of the present invention to solve the above or other problems, the master node group; first and second worker node groups controlled by the master node group; and a switch group including at least one switch connected to the second worker node group, wherein the nodes included in the master node group and the first and second worker node groups are virtual machines (virtual machines, VM), the second worker node group includes at least one compute node for generating and running at least one virtual machine, and the first worker node group is configured to operate the at least one virtual machine. A cloud environment-based IaaS development test bed system configured to include at least one controller node is provided.

상기 시스템은 제 1 및 제 2 PM(Physical Machine)을 포함되도록 구성될 수 있다.The system may be configured to include first and second PMs (Physical Machines).

상기 마스터 노드 그룹 및 상기 제 1 워커 노드 그룹은 상기 제 1 PM에 포함되도록 구성될 수 있다.The master node group and the first worker node group may be configured to be included in the first PM.

그리고, 상기 제 2 워커 노드 그룹은 상기 제 2 PM에 포함되도록 구성될 수 있다.And, the second worker node group may be configured to be included in the second PM.

그뿐만 아니라, 상기 제 1 및 제 2 PM은 제 1 타입 네트워크로 연결되고, 상기 마스터 노드 그룹과 상기 제 1 및 제 2 워커 노드 그룹은 컨테이너 네트워크인 제 2 타입 네트워크로 연결될 수 있다.In addition, the first and second PMs may be connected through a first type network, and the master node group and the first and second worker node groups may be connected through a second type network, which is a container network.

상기 제 1 타입 네트워크는,The first type network,

상기 제 1 및 제 2 PM 간에 직접적으로 연결되는 유선 네트워크 및 인캡슐 되는 프로토콜을 사용하여 논리적으로 연결되는 무선 네트워크 중 적어도 하나를 포함할 수 있다.It may include at least one of a wired network directly connected between the first and second PMs and a wireless network logically connected using an encapsulated protocol.

상기 제 1 및 제 2 워커 노드 그룹 간에는 관리 네트워크인 제 3 타입 네트워크로 연결될 수 있다.A third type network, which is a management network, may be connected between the first and second worker node groups.

상기 제 3 타입 네트워크는,The third type network,

상기 적어도 하나의 가상 컨트롤러 노드가, 상기 적어도 하나의 컴퓨트 노드에 생성되는 상기 적어도 하나의 사용자 가상 머신을 운영하기 위하여 사용되는 네트워크일 수 있다.The at least one virtual controller node may be a network used to operate the at least one user virtual machine created in the at least one compute node.

상기 마스터 노드 그룹에 요구되는 제 1 구성 요소는 제 1 컨테이너로 설치되고, 상기 제 1 워커 노드 그룹에 요구되는 제 2 구성 요소는 제 2 컨테이너로 설치되며, 상기 제 2 워커 노드 그룹에 요구되는 제 3 구성 요소는 제 3 컨테이너로 설치될 수 있다.The first component required for the master node group is installed as a first container, the second component required for the first worker node group is installed as a second container, and the second component required for the second worker node group is installed. 3 components can be installed into a 3rd container.

상기 제 1 컨테이너에 기초하여 설치되는 제 1 구성 요소는, 상기 제 2 타입 네트워크에 기초하여 상기 제 2 및 제 3 컨테이너를 관리할 수 있다.A first component installed based on the first container may manage the second and third containers based on the second type network.

상기 제 8 컨테이너에 기초하여 설치되는 제 1 구성 요소는, 제 1 컨테이너를 더 관리할 수 있다.The first component installed based on the eighth container may further manage the first container.

상기 적어도 하나의 가상 컨트롤러 노드는, 상기 적어도 하나의 가상머신의 생성, 수정 및 삭제 중 적어도 하나를 수행할 수 있다.The at least one virtual controller node may perform at least one of creation, modification, and deletion of the at least one virtual machine.

상기 테스트베드 시스템은, 쿠버네티스 오케스트레이션 플랫폼에 기초하여 구현되고, 상기 마스터 노드 그룹은, 상기 쿠버네티스 오케스트레이션 플랫폼의 마스터 노드를 포함하도록 구성되고,The testbed system is implemented based on the Kubernetes orchestration platform, and the master node group is configured to include a master node of the Kubernetes orchestration platform,

상기 제 1 및 제 2 워커 노드 그룹은, 상기 쿠버네티스 오케스트레이션 플랫폼의 워커 노드를 포함하도록 구성될 수 있다.The first and second worker node groups may be configured to include worker nodes of the Kubernetes orchestration platform.

상기 테스트베드 시스템은,The test bed system,

오픈스택에 기초하여 구현되고, 상기 적어도 하나의 컨트롤러 노드는 상기 오픈스택의 컨트롤러 노드로 구현되고, 상기 적어도 하나의 컴퓨트 노드는 상기 오픈스택의 컴퓨트 노드로 구현될 수 있다.It may be implemented based on OpenStack, the at least one controller node may be implemented as a controller node of the OpenStack, and the at least one compute node may be implemented as a compute node of the OpenStack.

본 발명에 따라 가상 네트워크 장치를 이용한 가상 네트워크를 구성하여, 다양한 네트워크 기능요소에 대한 설정 및 동작에 대한 검증 절차를 제공하고 이를 바탕으로 신규 네트워킹 서비스 개발을 위한 도구로 활용될 수 있다.According to the present invention, by configuring a virtual network using a virtual network device, a verification procedure for setting and operation of various network functional elements is provided, and based on this, it can be used as a tool for developing a new networking service.

또한, 가상 기계 기반 가상 네트워크 시험 도구 대비 컨테이너 기술 활용을 통한 개선된 성능을 통해 보다 쾌적한 시험개발환경 제공한다.In addition, it provides a more comfortable test and development environment through improved performance through the use of container technology compared to virtual machine-based virtual network test tools.

본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.A further scope of the applicability of the present invention will become apparent from the detailed description that follows. However, since various changes and modifications within the spirit and scope of the present invention can be clearly understood by those skilled in the art, it should be understood that the detailed description and specific examples such as preferred embodiments of the present invention are given as examples only.

도 1은 일반적인 하드웨어 형태로 구성되는 종래의 클라우드 기반 IaaS (Infrastructure-as-a-Service, 가상 인프라 제공 서비스) 시스템(10)을 도시하는 도면이다.
도 2는 본 발명의 일실시예에 따른 가상의 테스트베드 시스템인, IaaS 테스트 시스템(100)의 블록도를 도시하는 도면이다. 도 2에서 가상화된 구성은, 점선으로 도시된다.
도 3은 본 발명의 일실시예에 따라, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)의 적어도 두 개의 PM 상에서 구현되는 블록도를 도시한다.
도 4는 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 2 타입 네트워크(410)를 도시하는 도면이다.
도 5는 본 발명의 일실시예에 따른 제 2 타입 네트워크(410)의 역할을 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 3 타입 네트워크(510)를 도시하는 도면이다.
도 7은 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 4 타입 네트워크(710)를 도시하는 도면이다.
1 is a diagram illustrating a conventional cloud-based Infrastructure-as-a-Service (IaaS) system 10 configured in a general hardware form.
2 is a diagram showing a block diagram of an IaaS test system 100, which is a virtual test bed system according to an embodiment of the present invention. The virtualized configuration in FIG. 2 is indicated by a dotted line.
3 illustrates a block diagram implemented on at least two PMs of an IaaS test system 100 according to an embodiment of the present invention, according to one embodiment of the present invention.
4 is a diagram illustrating a second type network 410 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.
5 is a diagram explaining the role of the second type network 410 according to an embodiment of the present invention.
6 is a diagram illustrating a third type network 510 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.
7 is a diagram illustrating a fourth type network 710 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the accompanying drawings, but the same or similar elements are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. The suffixes "module" and "unit" for components used in the following description are given or used together in consideration of ease of writing the specification, and do not have meanings or roles that are distinct from each other by themselves. In addition, in describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, the technical idea disclosed in this specification is not limited by the accompanying drawings, and all changes included in the spirit and technical scope of the present invention , it should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers, such as first and second, may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, terms such as "comprise" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

이하에서 설명되는 본 특허의 상세한 설명에서는 오픈스택(OpenStack)이라는 IaaS 형태의 클라우드 컴퓨팅 오픈소스 프로젝트를 활용하여 하나의 예로써 프로세싱, 저장공간, 네트워킹의 가용자원을 제어하도록 테스트 베드를 구성하는 것을 나타낸다. 따라서, 본 발명이 오픈스택이라는 오픈 소스에 한정되지 않고, 다양한 클라우드 컴퓨팅 플랫폼이 적용될 수 있을 것이다.In the detailed description of this patent described below, it shows that a test bed is configured to control available resources for processing, storage space, and networking as an example by utilizing an IaaS-type cloud computing open source project called OpenStack. . Accordingly, the present invention is not limited to open source such as OpenStack, and various cloud computing platforms may be applied.

도 1은 일반적인 하드웨어 형태로 구성되는 종래의 클라우드 기반 IaaS (Infrastructure-as-a-Service, 가상 인프라 제공 서비스) 시스템(10)을 도시하는 도면이다.1 is a diagram illustrating a conventional cloud-based Infrastructure-as-a-Service (IaaS) system 10 configured in a general hardware form.

종래의 IaaS 시스템(10)은 적어도 하나의 컨트롤러 노드(140-1 ~ 140-3), 적어도 하나의 PM(Physical Machine)(201-1 ~ 201-4) 및 스위치 그룹(230)을 포함하도록 구성될 수 있다. IaaS 시스템(10)은 클라우드 관리 프레임워크에 기반하여 구성될 수 있다. 예를 들면, IaaS 시스템(10)은 오픈스택에 기반하여 구성될 수 있다.The conventional IaaS system 10 is configured to include at least one controller node 140-1 to 140-3, at least one PM (Physical Machine) 201-1 to 201-4, and a switch group 230. It can be. The IaaS system 10 may be configured based on a cloud management framework. For example, the IaaS system 10 may be configured based on OpenStack.

PM(201-1 ~ 201-4)이란 하드웨어를 기준으로 구분되는 개별적인 물리 서버를 의미한다. IaaS 서비스 제공자는, 원활한 서비스 제공을 위하여 적절한 개수의 PM(201-1 ~ 201-4)을 IaaS 시스템(10)에 설치할 수 있을 것이다. 본 테스트 기반 IaaS 시스템(10) 상에서 각각의 PM은 가상 머신으로 모방되어 있고, 컴퓨트 노드(Compute Node)로서의 기능을 수행한다.The PMs 201-1 to 201-4 refer to individual physical servers classified on the basis of hardware. The IaaS service provider may install an appropriate number of PMs 201-1 to 201-4 in the IaaS system 10 for smooth service provision. On this test-based IaaS system 10, each PM is imitated as a virtual machine and functions as a compute node.

컴퓨트 노드란, 가상 머신(Virtual Machine, VM)에 컴퓨트 자원을 제공하는 노드를 말한다. 즉, 컴퓨트 노드는 가상 머신이 실제로 생성되어 운용되는 노드를 의미한다.A compute node refers to a node that provides compute resources to a virtual machine (VM). That is, the compute node refers to a node where a virtual machine is actually created and operated.

적어도 하나의 PM(201-1 ~ 201-4) 각각은, 서비스 이용자(또는 서비스 사용자)의 요청에 따라서, 가상 머신을 생성 및 관리할 수 있다. 하나의 PM에 복수 개의 가상 머신이 생성될 수도 있다.Each of the at least one PM 201-1 to 201-4 may create and manage a virtual machine according to a request of a service user (or service user). A plurality of virtual machines may be created in one PM.

적어도 하나의 컨트롤러 노드(140-1 ~ 140-3)의 개수 역시, IaaS 서비스 제공자에 의해 적절하게 조절될 수 있을 것이다. 즉, 서비스 제공자는 필요에 따라서 컨트롤러 노드(140-1 ~ 140-3)의 개수를 증감시킬 수 있다.The number of at least one controller node (140-1 to 140-3) may also be appropriately adjusted by the IaaS service provider. That is, the service provider may increase or decrease the number of controller nodes 140-1 to 140-3 as needed.

각 컨트롤러 노드(140-1 ~ 140-3)는, 컨트롤러 노드 자신, 컴퓨트 노드 뿐만 아니라 다른 공유 서비스를 관리하기 위한 노드를 의미한다. IaaS 시스템이 오픈스택에 기초할 경우, 각 컨트롤러 노드(140-1 ~ 140-3)는 오픈스택의 전반적인 기능을 제어하는 역할을 수행한다. 예를 들어 컨트롤러 노드는 API 서비스를 관리, 구성 요소들의 요청을 조율하고, 주요 인터페이스 역할을 한다.Each of the controller nodes 140-1 to 140-3 means a node for managing other shared services as well as the controller node itself and the compute node. If the IaaS system is based on OpenStack, each controller node (140-1 to 140-3) plays a role in controlling the overall functions of OpenStack. Controller nodes, for example, manage API services, coordinate requests from components, and serve as the primary interface.

스위치 그룹(230)은, 스위치 패브릭 구조에 필요한 적어도 하나의 구성을 포함한다. 적어도 하나의 컨트롤러 노드(140-1 ~ 140-3)는, 스위치 패브릭 구조를 구성하는 스위치 그룹(203)을 제어하여, 가상 머신 간에 데이터를 주고 받을 수 있도록 연결하거나, 외부 네트워크와 가상 머신 간에 연결하여 데이터를 주고 받을 수 있도록 한다.The switch group 230 includes at least one component required for a switch fabric structure. At least one controller node (140-1 to 140-3) controls the switch group 203 constituting the switch fabric structure to connect so that data can be exchanged between virtual machines, or to connect an external network and virtual machines. so that data can be exchanged.

예를 들어서 도 1에 도시된 IaaS 시스템(10)에서는 2 계층 리프(leaf)-스파인(spine) 패브릭에 필요한 구성들이 스위치 그룹(230)에 포함된다. 2 계층 리프-스파인 패브릭은, 복수 개의 리프 스위치, 복수 개의 스파인 스위치 및 보더 리프 스위치가 포함되며, 복수 개의 스파인 스위치와 복수 개의 리프 스위치 간에 계층 구조로 형성된다.For example, in the IaaS system 10 shown in FIG. 1 , configurations required for a 2-layer leaf-spine fabric are included in the switch group 230 . The two-layer leaf-spine fabric includes a plurality of leaf switches, a plurality of spine switches, and a border leaf switch, and is formed in a hierarchical structure between the plurality of spine switches and the plurality of leaf switches.

도시된 예시에서는 2 계층 리프(leaf)-스파인(spine) 패브릭 구조를 포함하지만, 반드시 이에 한정되지 않고 다양한 스위치 패브릭 구조가 도 1에 도시된 IaaS 시스템(10)에 적용될 수 있을 것이다.In the illustrated example, a two-layer leaf-spine fabric structure is included, but not necessarily limited thereto, and various switch fabric structures may be applied to the IaaS system 10 shown in FIG. 1 .

도 1에 도시된 IaaS 시스템(10)에 따르면, 서비스 사용자가 서비스 제공자에게 가상의 자원을 요청할 경우, 서비스 제공자는 적합한 가상 머신을 적어도 하나의 컴퓨트 노드(도시된 예시에서 제 1 내지 제 4 PM)에 생성하고, 생성된 가상 머신을 서비스 사용자가 이용할 수 있도록 제공할 수 있다. 즉, 서비스 제공자가 구비하는 물리적인 자원(도시된 예시에서 제 1 내지 제 4 PM)을, 서비스 사용자의 사용 용도에 맞도록 가상의 자원(가상 머신)으로 최적화하여, 최적화된 가상의 자원을 서비스 사용자에게 제공해 줄 수 있다.According to the IaaS system 10 shown in FIG. 1, when a service user requests a virtual resource from a service provider, the service provider assigns an appropriate virtual machine to at least one compute node (first to fourth PMs in the illustrated example). ), and the created virtual machine can be provided for service users to use. That is, by optimizing the physical resources (first to fourth PMs in the illustrated example) of the service provider into virtual resources (virtual machines) to suit the usage purpose of the service user, the optimized virtual resources are used as a service can be provided to the user.

서비스 제공자의 경우, 도 1에서와 같은 IaaS 시스템(10)을 구축하는데 있어서, 다양한 설정, 조건에 대한 성능 실험을 수행할 필요가 있을 것이다. 본 발명에서는 실제 IaaS 시스템(10)을 구축하기에 앞서, 이러한 시스템의 기능 실험을 가상의 공간에서 수행할 수 있는 가상의 테스트베드 시스템 구조를 제안한다.In the case of a service provider, in constructing the IaaS system 10 as shown in FIG. 1, it will be necessary to perform performance experiments for various settings and conditions. In the present invention, prior to constructing the actual IaaS system 10, a virtual test bed system structure capable of performing functional tests of such a system in a virtual space is proposed.

도 2는 본 발명의 일실시예에 따른 가상의 테스트베드 시스템인, IaaS 테스트 시스템(100)의 블록도를 도시하는 도면이다. 도 2에서 가상화된 구성은, 점선으로 도시된다.2 is a diagram showing a block diagram of an IaaS test system 100, which is a virtual test bed system according to an embodiment of the present invention. The virtualized configuration in FIG. 2 is indicated by a dotted line.

본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)은 마스터 노드 그룹(110), 상기 마스터 노드 그룹(110)에 의해 제어되는 제 1 및 제 2 워커 노드 그룹(140, 201), 및 상기 제 2 워커 노드 그룹(201)과 연결되는 적어도 하나의 스위치를 포함하는 스위치 그룹(230); 및 스위치 그룹(230)의 동작을 제어하기 위한 스위치 컨트롤러 그룹(240)을 포함할 수 있다.The IaaS test system 100 according to an embodiment of the present invention includes a master node group 110, first and second worker node groups 140 and 201 controlled by the master node group 110, and the th A switch group 230 including at least one switch connected to the 2 worker node group 201; and a switch controller group 240 for controlling the operation of the switch group 230 .

특히 상기 마스터 노드 그룹(110), 상기 제 1 및 제 2 워커 노드 그룹(140, 201)에 포함되어 있는 노드는, 테스트베드가 아닌 실제 환경에서는 물리적 장비로 구성되지만, 본 발명은 실제 환경을 모방한 테스트베드 이기 때문에 가상 머신(Virtual Machine, VM)으로 구성되도록 제안한다.In particular, the nodes included in the master node group 110 and the first and second worker node groups 140 and 201 are composed of physical equipment in a real environment, not a test bed, but the present invention imitates the real environment Since it is a test bed, it is proposed to be configured as a Virtual Machine (VM).

IaaS는 사용자에게 가상 자원(예로 가상머신)을 제공해주는 서비스이다. 사용자가 가상 머신 생성 요청을 하게 되면, 컴퓨트 노드 그룹인 상기 제 2 워커 노드 그룹에 포함된 적어도 하나의 노드에서 가상 머신이 생성 및 구동될 수 있다.IaaS is a service that provides virtual resources (for example, virtual machines) to users. When a user makes a request for creating a virtual machine, a virtual machine can be created and started in at least one node included in the second worker node group, which is a compute node group.

즉, 가상 머신으로 구현된 컴퓨트 노드 그룹인 제 2 워커 노드 그룹 중 하나의 노드 안에서 사용자가 요청한 가상 머신이 생성되고 구동된다.That is, a virtual machine requested by a user is created and operated in one node of the second worker node group, which is a compute node group implemented as a virtual machine.

그리고 상기 제 1 워커 노드 그룹은 상기 적어도 하나의 사용자의 가상 머신들의 운영을 위한 적어도 하나의 컨트롤러 노드를 포함하도록 구성된다.And the first worker node group is configured to include at least one controller node for operating the virtual machines of the at least one user.

도 2를 참조하면, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)은, 마스터 노드 그룹(110), 제 1 워커 노드 그룹(140), 제 2 워커 노드 그룹(201), 스위치 그룹(230) 및 스위치 컨트롤러 그룹(240)을 포함하도록 구성될 수 있다.Referring to FIG. 2, the IaaS test system 100 according to an embodiment of the present invention includes a master node group 110, a first worker node group 140, a second worker node group 201, and a switch group ( 230) and a switch controller group 240.

제 1 워커 노드 그룹(140)은 적어도 하나의 가상 컨트롤러 노드(140-1' ~ 140-3')를 포함한다. 그리고 제 2 워커 노드 그룹(201)은 적어도 하나의 가상 PM(201-1' ~ 201-4')을 포함한다.The first worker node group 140 includes at least one virtual controller node 140-1' to 140-3'. The second worker node group 201 includes at least one virtual PM 201-1' to 201-4'.

적어도 하나의 컨트롤러 노드를 가상화한 가상 머신(140-1' ~ 140-3', 이하에서는 가상 컨트롤러 노드라 함)은 도 1에서 상술한 종래의 IaaS 시스템(10)에서 적어도 하나의 컨트롤러 노드(140-1 ~ 140-3)에 대응되는 구성이다. 즉, 종래의 IaaS 시스템(10) 상에서 물리적으로 독립적인 구성인 적어도 하나의 컨트롤러 노드(140-1 ~ 140-3)를 가상화한 구성을 가상 컨트롤러 노드(140-1' ~ 140-3')로 볼 수 있다.Virtual machines (140-1' to 140-3', hereinafter referred to as virtual controller nodes) virtualizing at least one controller node are at least one controller node 140 in the conventional IaaS system 10 described above in FIG. -1 ~ 140-3) corresponding configuration. That is, a configuration in which at least one controller node (140-1 to 140-3), which is a physically independent configuration, is virtualized on the conventional IaaS system 10 as a virtual controller node (140-1' to 140-3'). can see.

적어도 하나의 PM을 가상화한 가상 머신(201-1' ~ 201-4', 이하에서는 가상 PM이라 함)은 도 1에서 상술한 종래의 IaaS 시스템(10)에서 적어도 하나의 PM(201-1 ~ 201-4)에 대응되는 구성이다. 즉, 종래의 IaaS 시스템(10) 상에서 물리적으로 독립적인 구성인 적어도 하나의 PM(201-1 ~ 201-4)을 가상화한 구성을 가상 PM(201-1' ~ 201-4')으로 볼 수 있다.Virtual machines (201-1' to 201-4', hereinafter referred to as virtual PMs) virtualizing at least one PM are at least one PM (201-1 to 201-4') in the conventional IaaS system 10 described above with reference to FIG. 201-4). That is, a configuration obtained by virtualizing at least one PM (201-1 to 201-4), which is a physically independent configuration, on the conventional IaaS system 10 can be regarded as a virtual PM (201-1' to 201-4'). there is.

가상 PM(201-1' ~ 201-4') 역시 상술한 컴퓨트 노드로서 역할을 수행할 것이다. 컴퓨트 노드로서의 역할을 수행할 때 서비스 이용자에게 제공하기 위한 가상 머신이 가상 PM(201-1' ~ 201-4') 상에 생성, 관리되거나 삭제될 수 있을 것이다. 즉, 가상 머신 안에 가상 머신이 이중으로 가상화 되어 생성될 수 있다.The virtual PMs 201-1' to 201-4' will also serve as the aforementioned compute nodes. When serving as a compute node, virtual machines to be provided to service users may be created, managed, or deleted on the virtual PMs 201-1' to 201-4'. That is, a virtual machine within a virtual machine may be created by being double virtualized.

가상 PM(201-1' ~ 201-4')과, 그 내부에 생성되는 가상 머신을 구분하기 위하여 본 발명의 상세한 설명에서는, 가상 PM(201-1' ~ 201-4') 내부에 생성되고, 서비스 이용자에게 제공되는 가상 머신을 '사용자 가상 머신'이라고 부르기로 한다.In order to distinguish the virtual PMs 201-1' to 201-4' and the virtual machines created therein, in the detailed description of the present invention, the virtual PMs 201-1' to 201-4' are created and In this case, a virtual machine provided to service users is referred to as a 'user virtual machine'.

도 2의 구성 중, 도 1의 구성과 동일한 기능을 하는 구성에 대한 설명은 생략한다.Among the configurations of FIG. 2 , descriptions of components that perform the same function as those of FIG. 1 are omitted.

스위치 컨트롤러 그룹(240)은, 제 1 내지 제 3 스위치 컨트롤러 노드(240-1 ~ 240-3)를 포함한다. 도 2의 예시에서는 스위치 컨트롤러 노드(240-1 ~ 240-3)의 개수가 3개로 도시되지만, 이러한 개수에 한정되지 않고 개수가 증감될 수 있을 것이다.The switch controller group 240 includes first to third switch controller nodes 240-1 to 240-3. In the example of FIG. 2 , the number of switch controller nodes 240-1 to 240-3 is shown as three, but the number is not limited to this number and may be increased or decreased.

복수 개의 스위치 컨트롤러 노드(240-1 ~ 240-3) 중 적어도 하나는 마스터 모드로서 동작할 수 있다. 그리고, 마스터 모드 외에 나머지는 대기 모드로 동작할 수 있다. 마스터 모드로 동작하는 스위치 컨트롤러 노드에 의해서 스위치 그룹의 스위치들에 네트워크 설정이 구성된다. 마스터 모드로 동작하는 스위치 컨트롤러 노드에 문제가 발생할 경우, 대기 모드의 스위치 컨트롤러 노드들 중 하나가 이를 대체하여 동작할 수 있다.At least one of the plurality of switch controller nodes 240-1 to 240-3 may operate as a master mode. And, other than the master mode, the others may operate in the standby mode. Network settings are configured on switches in a switch group by a switch controller node operating in master mode. If a switch controller node operating in master mode fails, one of the switch controller nodes in standby mode can take over.

이하에서 후술되는 API 파드 중, 네트워킹 서비스로 나타낸 "Neutron" API는, 상기 스위치 컨트롤러를 통하여 가상 스파인 스위치 또는 가상 리프 스위치와 논리적으로 연결될 수 있다. "Neutron" API는 관리 네트워크인 제 3 타입 네트워크(도 6에서 후술 됨)를 통하여 스위치 컨트롤러 그룹의 스위치 컨트롤러 노드와 연결될 수 있다. "Neutron" API를 통하여 네트워크 생성/수정/삭제 명령 등이 생성되면, 스위치 컨트롤러 노드(마스터 모드로 설정된)가 명령을 받고 관련된 스위치에 네트워크 설정을 전달한다.Among the API pods described below, the "Neutron" API, which is represented as a networking service, can be logically connected to a virtual spine switch or a virtual leaf switch through the switch controller. The “Neutron” API may be connected to a switch controller node of a switch controller group through a third type network (described later in FIG. 6), which is a management network. When a network creation/modification/deletion command is generated through the "Neutron" API, the switch controller node (set in master mode) receives the command and transmits the network settings to the related switch.

본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)은, 도 1에서 설명한 종래 IaaS 시스템(10)에 포함된 물리적으로 독립된 구성들을, 가상 머신을 통하여 구현하도록 제안한다. 즉, 테스트를 하기 위한 목적으로, 물리적인 구성들을 가상 머신으로 대체하는 것이다. 도 1의 예시에서 물리적으로 독립된 구성은, 제 1 내지 제 3 컨트롤러 노드(140-1 ~ 140-3), 제 1 ~ 제 4 PM(201-1 ~ 201-4), 스위치 그룹(230)에 포함되어 있는 각 스파인 스위치, 리프 스위치 및 보더 리프 스위치 중 적어도 하나를 의미할 수 있다.The IaaS test system 100 according to an embodiment of the present invention proposes to implement physically independent components included in the conventional IaaS system 10 described in FIG. 1 through a virtual machine. That is, for the purpose of testing, physical configurations are replaced with virtual machines. In the example of FIG. 1 , the physically independent components include the first to third controller nodes 140-1 to 140-3, the first to fourth PMs 201-1 to 201-4, and the switch group 230. It may mean at least one of included spine switches, leaf switches, and border leaf switches.

즉, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)은 제 1 내지 제 3 컨트롤러 노드(140-1 ~ 140-3), 제 1 ~ 제 4 PM(201-1 ~ 201-4), 스위치 그룹(230)에 포함되어 있는 각 스파인 스위치, 리프 스위치 및 보더 리프 스위치 중 적어도 하나가 가상 머신으로 구현된다. 가상 머신으로 구현된 구성은, 도 2 상에서 점선으로 도시된다.That is, the IaaS test system 100 according to an embodiment of the present invention includes first to third controller nodes 140-1 to 140-3, first to fourth PMs 201-1 to 201-4, At least one of each spine switch, leaf switch, and border leaf switch included in the switch group 230 is implemented as a virtual machine. A configuration implemented as a virtual machine is shown as a dotted line on FIG. 2 .

제 1 내지 제 3 컨트롤러 노드(140-1 ~ 140-3)는 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100) 상에서 제 1 내지 제 3 가상 컨트롤러 노드(140-1' ~ 140-3')으로 가상화되어 구현된다.The first to third controller nodes 140-1 to 140-3 are the first to third virtual controller nodes 140-1' to 140-3' on the IaaS test system 100 according to an embodiment of the present invention. ) is virtualized and implemented.

제 1 내지 제 4 PM(201-1 ~ 201-4)은 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100) 상에서 제 1 내지 제 4 가상 PM(201-1' ~ 201-4')으로 가상화되어 구현될 수 있다. 도 1에서 상술한 바와 같이, IaaS 테스트 시스템(100) 상에서 제 1 내지 제 4 가상 PM(201-1' ~ 201-4')은 컴퓨트 노드로서 기능을 수행할 수 있다.The first to fourth PMs 201-1 to 201-4 are the first to fourth virtual PMs 201-1' to 201-4' on the IaaS test system 100 according to an embodiment of the present invention. It can be virtualized and implemented. As described above in FIG. 1 , the first to fourth virtual PMs 201-1' to 201-4' on the IaaS test system 100 may function as compute nodes.

각 스파인 스위치는 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100) 상에서 가상 스파인 스위치로 가상화되어 구현될 수 있다.Each spine switch may be virtualized and implemented as a virtual spine switch on the IaaS test system 100 according to an embodiment of the present invention.

각 리프 스위치는 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100) 상에서 가상 리스 스위치로 가상화되어 구현될 수 있다.Each leaf switch is configured on the IaaS test system 100 according to an embodiment of the present invention. It can be implemented by being virtualized as a virtual leased switch.

본 발명의 실시예에 따라 물리적인 구성들을 가상 머신으로 대체될 경우, 실제 도 1에서와 같은 실제 IaaS 시스템(10)을 구축하는데 요구되는 기본적인 하드웨어의 개수 보다 적은 개수의 구성 만으로도 테스트를 위한 시스템 구축이 가능하다는 장점이 존재한다.When physical configurations are replaced with virtual machines according to an embodiment of the present invention, a system for testing is constructed with only a smaller number of configurations than the number of basic hardware required to build an actual IaaS system 10 as shown in FIG. There are advantages to being able to do this.

이하에서 본 발명의 실시예들을 설명하는데 있어서, 설명의 편의를 위하여 오픈스택에 기초한 시스템을 대표적인 예시로 설명하지만, 반드시 오픈스택에 한정되는 것은 아니고 다양한 클라우드 관리 프레임워크에 본 발명이 적용될 수 있을 것이다.In the following description of embodiments of the present invention, a system based on OpenStack is described as a representative example for convenience of explanation, but the present invention can be applied to various cloud management frameworks without necessarily being limited to OpenStack. .

특히, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)의 경우, 오픈스택 구축 시에 복합적으로 진행되어야 하는 구성요소의 설치를 대신하여, 컨테이너 안에 적어도 하나의 구성요소를 컨테이너화 하도록 제안한다.In particular, in the case of the IaaS test system 100 according to an embodiment of the present invention, it is proposed to containerize at least one component in a container instead of installing components that must be complexly performed when constructing OpenStack.

컨테이너화란, 운영 체제 수준의 가상화에 기반한 가상화 방식을 말한다. 컨테이너는 서로 간에 또는 호스트로부터 격리된 애플리케이션을 위한 가볍고 이식 가능한 실행 요소라는 특징이 존재한다.Containerization refers to a virtualization method based on virtualization at the operating system level. Containers are characterized as lightweight, portable executables for applications that are isolated from each other or from the host.

컨테이너는 호스트 하드웨어 컴퓨팅 환경에 밀접하게 연결되어 있지 않기 때문에 애플리케이션을 컨테이너 이미지에 연결하고 기본 컨테이너 아키텍처를 지원하는 모든 호스트 또는 가상 호스트에서 단일 경량 패키지로 실행할 수 있다. 이러한 특징 때문에, 컨테이너는 서로 다른 컴퓨팅 환경에서 소프트웨어를 작동시킬 때 발생할 수 있는 여러가지 문제를 해결할 수 있다.Because containers are not tightly coupled to the host hardware computing environment, applications can be linked to container images and run as a single, lightweight package on any host or virtual host that supports the underlying container architecture. Because of these characteristics, containers can solve various problems that can arise when running software in different computing environments.

그리고 컨테이너는 운영 체제를 가상화한 환경이므로 가상 머신에 비해서 상대적으로 가볍기 때문에, 동일한 조건 하에서 기존의 가상 머신 보다 더 많은 컨테이너 인스턴스 지원이 가능할 뿐만 아니라 빠르게 생성 및 제거가 가능하다. 종종 수명이 짧은 컨테이너는 가상 머신 보다 더 효율적으로 생성 및 이동할 수 있다. 그리고 컨테이너는 논리적으로 관련된 요소들의 그룹으로 관리하는 것이 가능하다. 예를 들어서 쿠버네티스(Kubernetes)와 같은 일부 오케스트레이션 플랫폼의 경우, 이러한 요소들을 "파드(Pod)"라 하며, 이러한 파드의 그룹을 "클러스터"라 한다.In addition, since containers are environments in which the operating system is virtualized, they are relatively lightweight compared to virtual machines, so they can support more container instances than existing virtual machines under the same conditions, and can be quickly created and removed. Often short-lived containers can be created and moved more efficiently than virtual machines. And containers can be managed as groups of logically related elements. In some orchestration platforms, for example Kubernetes, these elements are called "pods", and groups of these pods are called "clusters".

이하 본 발명에서 파드 및 클러스터라는 용어를 사용하지만, 이는 요소 및 그것들의 그룹을 지칭하기 위한 용어일 뿐, 본 발명이 쿠버네티스 플랫폼에 한정되지는 않을 것이다.Hereinafter, the terms pod and cluster are used in the present invention, but these are only terms to refer to elements and their groups, and the present invention will not be limited to the Kubernetes platform.

'파드'는 노드 상에서 동작할 수 있다. 노드는 오케스트레이션 플랫폼 상에서 워커 머신을 말하며 클러스터에 따라 가상 또는 물리 머신일 수 있다. 각 노드는 마스터 노드에 의해 관리된다. 하나의 노드는 여러 개의 파드를 가질 수 있고, 마스터 노드는 클러스터 내 노드를 통해서 파드에 대한 스케쥴링을 자동으로 처리한다.A 'pod' can run on a node. A node is a worker machine on an orchestration platform and can be a virtual or physical machine depending on the cluster. Each node is managed by a master node. One node can have multiple pods, and the master node automatically handles scheduling of pods through the nodes in the cluster.

본 발명의 일실시예에서는, 오케스트레이션 플랫폼을 통하여 배포 및 관리 할 수 있는 컨테이너 형태로 IaaS 테스트 시스템을 배포하거나 관리하도록 제안한다. 이와 같이 컨테이너 기반 IaaS 테스트 시스템을 사용하면, 서비스 사용자의 요청에 따라 클라우드 리소스를 적절하게 배포하고 관리 할 수 있고, 적은 수의 PM(약 두 대)만으로도 테스트베드 환경을 조성할 수 있다는 장점이 존재할 것이다.In one embodiment of the present invention, it is proposed to deploy or manage an IaaS test system in the form of a container that can be deployed and managed through an orchestration platform. In this way, using a container-based IaaS test system has the advantage of being able to properly deploy and manage cloud resources according to the request of service users, and creating a test bed environment with only a small number of PMs (about two). will be.

또한 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)의 컨트롤러 노드와 컴퓨트 노드가, 오케스트레이션 플랫폼 상의 워커 노드로 구현되도록 제안한다. 또한, 워커 노드를 제어하기 위하여 IaaS 테스트 시스템(100)이 마스터 노드(110)를 구비할 수 있다.In addition, it is proposed that the controller node and the compute node of the IaaS test system 100 according to an embodiment of the present invention be implemented as worker nodes on an orchestration platform. In addition, the IaaS test system 100 may include a master node 110 to control the worker node.

'파드'가 설치되는 노드는 그 역할에 따라 마스터 노드(Master node, 또는 마스터)와 워커 노드(Worker node, 또는 워커)로 구분된다. 마스터 노드는 클러스터 전체를 제어하는 역할을 수행한다.Nodes where 'pods' are installed are divided into master nodes (or masters) and worker nodes (or workers) according to their roles. The master node plays a role in controlling the entire cluster.

마스터 노드에 설치되어 운영되는 파드들은 일반적으로 클러스터의 기능들을 API 형태로 제공하는 API 서버, 클러스터의 데이터를 저장하는 데이터베이스, 파드들이 어떠한 노드에 할당될 것인지를 결정하는 스케쥴러(scheduler), 클러스터의 자원을 관리 및 할당하는 컨트롤러, 그리고 DNS(Domain Name System) 서버 등이 있을 수 있다. 단, 마스터 노드에 설치되는 파드들은 열거한 기능들에 한정되지는 않을 것이다.Pods installed and operated on the master node are generally an API server that provides cluster functions in the form of an API, a database that stores cluster data, a scheduler that determines which nodes pods are assigned to, and cluster resources. There may be a controller that manages and allocates, and a Domain Name System (DNS) server. However, pods installed on the master node will not be limited to the listed functions.

워커 노드에 설치되는 파드들은 일반적으로 마스터 노드의 API 서버로부터 전달된 명령을 수행하는 Agent, 파드들간의 네트워크를 관리하는 proxy, 파드들을 실제로 실행시키는 런타임(Runtime) 등이 있다. 단, 워커 노드에 설치되는 파드들은 열거한 기능들에 한정되지는 않을 것이다.Pods installed on worker nodes generally include an agent that executes commands delivered from the API server of the master node, a proxy that manages the network between pods, and a runtime that actually runs the pods. However, pods installed on worker nodes will not be limited to the listed functions.

워커 노드에 구동되는 서비스 API 파드는, "Nova", "Neutron", "Keystone", "Cinder", "Glance", "Horizon", "Octavia" 등과 같은 오픈스택 API 서버를 운영하는 파드이다. 상술한 오픈스택 API를 이용하는 것은 하나의 예시에 불과하며, 동일한 기능을 수행하는 다른 API로 대체될 수 있음은 자명할 것이다. 예를 들어, "Neutron"는 네트워킹 제어를 위한 API로, 다른 네트워킹 제어 API가 "Neutron"을 대신하여 적용될 수 있음은 자명하다.Service API pods running on worker nodes are pods that run OpenStack API servers such as "Nova", "Neutron", "Keystone", "Cinder", "Glance", "Horizon", and "Octavia". Using the aforementioned OpenStack API is just one example, and it will be apparent that other APIs performing the same function can be substituted. For example, "Neutron" is an API for networking control, and it is obvious that other networking control APIs can be applied instead of "Neutron".

제 1 내지 제 3 가상 컨트롤러 노드(140-1' ~ 140-3')는 제 1 워커 노드 그룹(140)에 포함되며, 제 1 내지 제 3 가상 컨트롤러 노드(140-1' ~ 140-3') 각각이 하나의 워커 노드로서 동작한다.The first to third virtual controller nodes 140-1' to 140-3' are included in the first worker node group 140, and the first to third virtual controller nodes 140-1' to 140-3' ) Each operates as one worker node.

마찬가지로 본 발명의 일실시예에 따른 제 1 내지 제 4 가상 PM(201-1' ~ 201-4')은 제 2 워커 노드 그룹(201)에 포함되며, 제 1 내지 제 4 가상 PM(201-1' ~ 201-4') 각각이 하나의 워커 노드로서 동작할 수 있다.Similarly, the first to fourth virtual PMs 201-1' to 201-4' according to an embodiment of the present invention are included in the second worker node group 201, and the first to fourth virtual PMs 201-4' 1' to 201-4') can each operate as one worker node.

제 1 및 제 2 워커 노드 그룹(140, 201)에 포함되는 워커 노드인, 제 1 내지 제 3 가상 컨트롤러 노드(140-1' ~ 140-3') 및 제 1 내지 제 4 가상 PM(201-1' ~ 201-4')은 가상 마스터 노드(110-1 ~ 110-3)에 의해서 제어될 수 있다. 예를 들어서, 가상 마스터 노드(110-1 ~ 110-3)는, 제 1 및 제 2 워커 노드 그룹(140, 201)에 포함되는 컨테이너의 모니터링, 스케쥴링이나 관리 동작이 수행될 수 있다.The first to third virtual controller nodes 140-1′ to 140-3′ and the first to fourth virtual PMs 201-3, which are worker nodes included in the first and second worker node groups 140 and 201, 1' to 201-4') can be controlled by virtual master nodes 110-1 to 110-3. For example, the virtual master nodes 110-1 to 110-3 may perform monitoring, scheduling, or management of containers included in the first and second worker node groups 140 and 201.

한편, 본 발명의 일실시예에서는, 상술한 가상 머신들이 적어도 두 개의 PM 상에서 구현되도록 제안한다.Meanwhile, in one embodiment of the present invention, it is proposed that the above-described virtual machines be implemented on at least two PMs.

도 3은 본 발명의 일실시예에 따라, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)의 적어도 두 개의 PM 상에서 구현되는 블록도를 도시한다.3 illustrates a block diagram implemented on at least two PMs of an IaaS test system 100 according to an embodiment of the present invention, according to one embodiment of the present invention.

도시된 도면에 따르면, 제 1 PM(301) 상에는 마스터 노드 그룹(110) 및 제 1 워커 노드 그룹(140)이 구성된다. 제 2 PM(302) 상에는 스위치 그룹(230) 및 제 2 워커 노드 그룹(201)이 구성된다.According to the illustrated diagram, the master node group 110 and the first worker node group 140 are configured on the first PM 301 . A switch group 230 and a second worker node group 201 are configured on the second PM 302 .

제 1 PM(301) 및 제 2 PM(302)는 서로 제 1 타입 네트워크(310)에 기초하여 연결된다.The first PM 301 and the second PM 302 are connected to each other based on a first type network 310 .

제 1 타입 네트워크(310)는, 제 1 PM(301) 및 제 2 PM(302)이 직접 연결되는 무선 연결 네트워크를 포함한다. 또한, 제 1 타입 네트워크(310)는 암호화된 가상 사설망(VPN, virtual private networks), 예를 들면 'wireguard', 프로토콜을 포함할 수 있다. 즉, VXLAN과 같이 인캡슐 되는 프로토콜을 사용하여 논리적으로 연결이 될 수 있는 다양한 네트워크가 제 1 타입 네트워크(310)에 포함될 수 있을 것이다.The first type network 310 includes a wireless connection network to which the first PM 301 and the second PM 302 are directly connected. In addition, the first type network 310 may include an encrypted virtual private network (VPN), for example, a 'wireguard' protocol. That is, various networks that can be logically connected using an encapsulated protocol such as VXLAN may be included in the first type network 310 .

본 특허에서 제시되는 제 1 PM(301)과 제 2 PM(302)은 반드시 물리적인 머신으로 구성되도록 한정되지 않을 것이다.The first PM 301 and the second PM 302 presented in this patent will not necessarily be limited to being configured as physical machines.

본 특허에서 제시되는 제 1 PM(301)과 제 2 PM(302)은 가상 머신(VM)으로도 구성 될 수 있고, 그 가상 머신들이 제 1 타입 네트워크(310)로 구성되어 연결될 수 있고, 이 때 제 1 타입 네트워크(310)는 논리적인 연결을 위한 터널링 프로토콜이 사용될 수 있다.The first PM 301 and the second PM 302 presented in this patent may also be configured as virtual machines (VMs), and the virtual machines may be configured and connected to the first type network 310, In this case, the first type network 310 may use a tunneling protocol for logical connection.

따라서, 제 1 PM(301)과 제 2 PM(302)이 가상 머신으로 구성된다면 가상머신 제공이 제공되는 클라우드(AWS나 GCP) 위에 본 특허에서 제시하는 테스트베드가 구동될 수 있다.Therefore, if the first PM 301 and the second PM 302 are composed of virtual machines, the test bed proposed in this patent can be operated on a cloud (AWS or GCP) where virtual machines are provided.

이하 도 4 내지 도 6을 참조하여, 본 발명의 일실시예에 따른 IaaS 테스트 시스템(100)이 적어도 두 개의 PM(301, 302) 상에서 구현되기 위하여 요구되는 네트워크 연결을 설명한다.Referring to FIGS. 4 to 6 , network connections required for the IaaS test system 100 to be implemented on at least two PMs 301 and 302 according to an embodiment of the present invention will be described.

도 4는 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 2 타입 네트워크(410)를 도시하는 도면이다.4 is a diagram illustrating a second type network 410 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.

도 4에 도시된 제 2 타입 네트워크(410)는, 컨테이너들 간에 데이터를 주고 받기 위한 네트워크를 의미한다. 예를 들어, 오케스트레이션 플랫폼인 쿠버네티스 컨테이너들 간에 데이터를 주고 받기 위한 네트워크일 수 있다.The second type network 410 shown in FIG. 4 means a network for exchanging data between containers. For example, it can be a network for exchanging data between Kubernetes containers, an orchestration platform.

도 4에서 마스터 노드 그룹(110)에 속해 있는 제 1 내지 제 3 가상 마스터 노드(110-1 ~ 110-3)가 워커 노드인 제 1 내지 제 3 가상 컨트롤러 노드(140-1' ~ 140-3')를 제어하거나, 제 1 내지 제 4 가상 PM(201-1' ~ 201-4')를 제어하기 위하여 상기 제 2 타입 네트워크(410)가 사용될 수 있다.In FIG. 4, the first to third virtual master nodes 110-1 to 110-3 belonging to the master node group 110 are worker nodes, and the first to third virtual controller nodes 140-1' to 140-3 ') or the first to fourth virtual PMs 201-1' to 201-4', the second type network 410 may be used.

예를 들어, 적어도 하나의 마스터 노드(110-1 ~ 110-3)가 제 1 워커 노드 그룹(140)에 설치되어 있는 컨테이너를 생성, 유지 등의 관리를 하는데 있어서 제 2 타입 네트워크(410)를 이용할 수 있다.For example, the second type network 410 is used to create, maintain, and manage a container in which at least one master node 110-1 to 110-3 is installed in the first worker node group 140. available.

이하, 도 5를 참조하여 제 2 타입 네트워크(410)의 보다 구체적인 역할을 살펴본다.Hereinafter, a more specific role of the second type network 410 will be described with reference to FIG. 5 .

도 5는 본 발명의 일실시예에 따른 제 2 타입 네트워크(410)의 역할을 설명하는 도면이다.5 is a diagram explaining the role of the second type network 410 according to an embodiment of the present invention.

오케스트레이션 플랫폼(예를 들어 쿠버네티스)를 활용할 경우, 상술한 적어도 하나의 가상 컨트롤러 노드(140-1' ~ 140-3')나 적어도 하나의 컴퓨트 노드에 설치되어야 하는 구성요소를 컨테이너화하여 설치, 관리 등을 수행할 수 있다.When using an orchestration platform (eg Kubernetes), containerized and installed components that need to be installed on at least one virtual controller node (140-1' to 140-3') or at least one compute node described above , management, etc.

구성요소란, 적어도 하나의 가상 컨트롤러 노드(140-1' ~ 140-3')나 적어도 하나의 컴퓨트 노드에서 요구되는 기능들의 집합을 의미한다. 예를 들어 오픈스택의 경우, 컴퓨트 기능을 담당하는 'Nova', 네트워킹 기능을 담당하는 'Neutron' 등이 있을 수 있다.A component means a set of functions required by at least one virtual controller node (140-1' to 140-3') or at least one compute node. For example, in the case of OpenStack, there may be 'Nova' in charge of compute function and 'Neutron' in charge of networking function.

상술한 'Nova'나 'Neutron'은 하나의 예시에 불과할 뿐, 반드시 이러한 명칭을 가지는 구성요소에 한정되지 않을 것이다. 즉, 네트워킹 기능을 담당하는 다른 종류나 형태의 구성요소가, 'Neutron' 대신 본 발명에 적용될 수 있음은 자명하다.The above-mentioned 'Nova' or 'Neutron' is just one example, and will not necessarily be limited to components having these names. That is, it is obvious that other types or types of components responsible for networking functions can be applied to the present invention instead of 'Neutron'.

아래 표 1은 오픈스택에 대한 구성요소의 예시를 도표화한 것이다.Table 1 below shows an example of components for OpenStack.

순번turn 구성요소 명칭Component name 설명explanation 1One ComputeCompute 컴퓨트는 IaaS 시스템의 주가 되는 부분인 클라우드 컴퓨팅 패브릭 컨트롤러(fabric controller)이다. 컴퓨터 자원의 풀을 관리하고 자동화하도록 설계되어 있으며 베어 메탈, 고성능 컴퓨팅(HPC) 구성 뿐 아니라 널리 이용 가능한 가상화 기술들과 함께 동작할 수 있다.
하이퍼바이저 기술(가상 머신 모니터)로서 KVM, VMware, 젠 중 하나를 선택할 수 있으며, 여기에 Hyper-V 및 LXC와 같은 리눅스 컨테이너 기술을 함께 사용할 수 있다. 오픈스택에서는 Nova가 해당 기능을 담당한다.
Compute is the main part of the IaaS system, the cloud computing fabric controller. It is designed to manage and automate pools of computer resources and can work with widely available virtualization technologies as well as bare metal, high-performance computing (HPC) configurations.
As a hypervisor technology (virtual machine monitor), you have a choice of KVM, VMware, or Xen, which can be used in conjunction with Linux container technologies such as Hyper-V and LXC. In OpenStack, Nova is responsible for that function.
22 NetworkingNetworking 네트워킹(Neutron) 네트워크와 IP 주소들을 관리하기 위한 시스템이다. 오픈스택 네트워킹은 네트워크가 병목 현상에 처하지 않도록 보증하며 심지어는 네트워크 구성을 통해서 사용자에게 자체 서비스 기능을 제공한다.네트워킹은 각기 다른 애플리케이션이나 사용자 그룹을 위한 네트워킹 모델을 제공한다. 가장 기본적으로 단일 테넌트에 해당하는 Flat이나 다중 테넌트를 지원하여 네트워크를 논리적으로 분리시키는 VLAN/VXLAN 네트워크를 포함한다. 네트워킹은 IP 주소를 관리함으로써 전용 정적 IP 주소나 DHCP를 허용한다. 유동 IP 주소들은 트래픽이 IT 인프라 안의 모든 리소스에 동적으로 이어질 수 있게 함으로써 사용자들은 유지보수나 실패 상황에서 트래픽을 다른 곳으로 넘겨줄 수 있다. 오픈스택에서는 Neutron이 해당 기능을 담당한다.Networking (Neutron) A system for managing networks and IP addresses. OpenStack Networking ensures that the network is not bottlenecked, and even provides self-service capabilities to users through network configuration. Networking provides a networking model for different applications or groups of users. Most basically, it includes a VLAN/VXLAN network that logically separates the network by supporting flat or multi-tenant corresponding to a single tenant. Networking manages IP addresses, allowing for dedicated static IP addresses or DHCP. Floating IP addresses allow traffic to be dynamically routed to any resource within the IT infrastructure, allowing users to redirect traffic in the event of maintenance or failure. In OpenStack, Neutron is in charge of that function. 33 Block StorageBlock Storage 블록 스토리지는 컴퓨트 인스턴스에 사용할 지속적인 블록 레벨 스토리지 장치들을 제공한다. 블록 스토리지 시스템은 블록 장치들을 서버에 작성, 부착, 제거하는 일을 관리한다. 오픈스택에서는 Cinder가 해당 기능을 담당한다.Block storage provides persistent block-level storage devices for use with compute instances. The block storage system manages the creation, attachment, and removal of block devices to servers. In OpenStack, Cinder is responsible for that function. 44 IdentityIdentity 아이덴티티는 사용자들이 접근할 수 있는 서비스들에 매핑 되는 사용자들의 중앙 디렉터리를 제공한다. 클라우드 운영 체제를 통하는 공통 인증 시스템으로 활동하며 LDAP과 같은 기존의 백엔드 디렉터리 서비스들과 통합할 수 있다.
오픈스택에서는 Keystone이 해당 기능을 담당한다.
Identity provides a central directory of users that are mapped to the services they can access. It acts as a common authentication system through cloud operating systems and can integrate with existing backend directory services such as LDAP.
In OpenStack, Keystone is responsible for that function.
55 ImageImage 이미지는 디스크 및 서버 이미지를 위한 검색, 등록, 배급 서비스를 제공한다. 저장된 이미지들은 템플릿으로 사용이 가능하다. 수에 제한이 없는 백업본을 저장하고 카탈로그화하는데 사용할 수도 있다. 이미지 서비스는 다양한 백엔드에 디스크와 서버 이미지들을 저장할 수 있다. 이미지 서비스 API는 디스크 이미지에 관한 정보를 조회하기 위해 표준 REST 인터페이스를 제공하며 클라이언트가 이미지를 새로운 서버에 스트리밍할 수 있게 한다.
오픈스택에서는 Glance가 해당 기능을 담당한다.
Image provides discovery, registration, and distribution services for disk and server images. Saved images can be used as templates. It can also be used to store and catalog an unlimited number of backup copies. Image services can store disk and server images on various backends. The Image Service API provides a standard REST interface for querying information about disk images and allows clients to stream images to a new server.
In OpenStack, Glance is responsible for that function.
66 DashboardDashboard 대시보드는 관리자와 사용자들에게 클라우드 기반 자원 배치의 접근, 제공, 자동화를 위한 그래픽 인터페이스를 제공한다. 설계는 청구, 모니터링, 추가 관리 도구와 같은 제 3의 제품과 서비스들을 수용한다.
오픈스택에서는 Horizon이 해당 기능을 담당한다.
The dashboard provides administrators and users a graphical interface for accessing, provisioning, and automating cloud-based resource deployment. The design accommodates third-party products and services such as billing, monitoring, and additional management tools.
In OpenStack, Horizon is responsible for that function.
77 ProvisioningProvisioning Provisioning은 가상 머신 대신 베어 메탈 머신을 준비시키는 서비스이다. 베어메탈 하이퍼바이저 API이자, 베어 메탈 하이퍼바이저와 상호 작용하는 플러그인들의 집합으로 생각할 수 있다. 기본적으로 PXE와 IPMI를 사용하여 머신을 예비하고 켜고 끌 수 있지만, 벤더 특화 플러그인들을 지원, 확장하여 추가 기능을 구현할 수 있다.
오픈스택에서는 Ironic이 해당 기능을 담당한다.
Provisioning is a service that prepares a bare metal machine instead of a virtual machine. You can think of it as a bare metal hypervisor API and a collection of plug-ins that interact with the bare metal hypervisor. Basically, it uses PXE and IPMI to reserve and turn on/off machines, but vendor-specific plug-ins can be supported and extended to implement additional functions.
In OpenStack, Ironic is responsible for that function.

도 5를 참조하면, 마스터 노드 그룹(110)에 요구되는 구성요소는 제 1 컨테이너(501-1) 형태로 생성, 관리 및 삭제 등의 관리가 이루어질 수 있다. Referring to FIG. 5 , components required for the master node group 110 may be created, managed, and deleted in the form of a first container 501-1.

마찬가지로 제 1 워커 노드 그룹(140)에 요구되는 구성요소는 제 2 컨테이너 (501-2) 형태로 생성, 관리 및 삭제 등의 관리가 이루어질 수 있다.Similarly, components required for the first worker node group 140 can be created, managed, and deleted in the form of the second container 501-2.

그리고 제 2 워커 노드 그룹(201)에 요구되는 구성요소는 제 3 컨테이너(501-3) 형태로 생성, 관리 및 삭제 등의 관리가 이루어질 수 있다.In addition, components required for the second worker node group 201 can be created, managed, and deleted in the form of a third container 501-3.

마스터 노드 그룹(110)에 속하는 적어도 하나의 마스터 노드()가 상술한 제 1 내지 제 3 컨테이너(501-1 ~ 501-3)를 관리하게 위해서 상술한 제 2 타입 네트워크(510)가 이용된다. 즉, 제 2 타입 네트워크(510)는 컨테이너(들)(501-1 ~ 501-3) 간에 데이터를 주고 받기 위하여 사용된다.The above-described second type network 510 is used so that at least one master node belonging to the master node group 110 manages the above-described first to third containers 501-1 to 501-3. That is, the second type network 510 is used to exchange data between the container(s) 501-1 to 501-3.

도 6는 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 3 타입 네트워크(510)를 도시하는 도면이다.6 is a diagram illustrating a third type network 510 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.

도 6에서 설명하는 제 3 타입 네트워크(510)는, 관리자가 컨트롤 하거나 오픈스택 컴포넌트들 간(컨트롤러 노드와 컴퓨트 노드 사이)에 서로 컨트롤할 때 필요한 네트워크를 의미한다.The third type network 510 described in FIG. 6 refers to a network required when an administrator controls or controls each other between OpenStack components (between a controller node and a compute node).

본 발명의 일실시예에서 제 3 타입 네트워크(510)는, 'manage network' 역할을 수행할 수 있다. 'manage network'는 제 1 및 제 2 PM(301, 302)에 존재하는 모든 노드들이 연결되어 서로 간에 제어 트래픽이 흐르는 네트워크이다. 적어도 하나의 컴퓨트 노드에 생성되어 있는 가상 머신(들)을 관리(설정)하기 위한 네트워크를 의미할 수 있다.In an embodiment of the present invention, the third type network 510 may serve as a 'manage network'. A 'manage network' is a network in which all nodes existing in the first and second PMs 301 and 302 are connected and control traffic flows therebetween. It may refer to a network for managing (setting) virtual machine(s) created in at least one compute node.

실제 환경에서는 적어도 하나의 가상 PM(201-1' ~ 201-4')이나 사용자 가상 머신에 접근해서 설정도 확인하고, 설정 파라미터를 넣거나, 오픈스택 컨트롤러와 컴퓨트 간에 데이터를 주고 받을 때에도 제 3 타입 네트워크(510)를 사용한다.In a real environment, access to at least one virtual PM (201-1' ~ 201-4') or user virtual machine to check settings, enter configuration parameters, or send and receive data between the OpenStack controller and the computer. Type network 510 is used.

뿐만 아니라, 컨트롤러 노드와 스위치, 스위치 컨트롤러와 스위치 간에도 데이터 전달을 위해 제 3 타입 네트워크(510)가 사용된다.In addition, the third type network 510 is used to transfer data between the controller node and the switch and between the switch controller and the switch.

도 7은 본 발명의 일실시예에 따라 적어도 두 개의 PM(301, 302)상에서 구현되는 IaaS 테스트 시스템(100)에 요구되는 제 4 타입 네트워크(710)를 도시하는 도면이다.7 is a diagram illustrating a fourth type network 710 required for the IaaS test system 100 implemented on at least two PMs 301 and 302 according to an embodiment of the present invention.

제 4 타입 네트워크(710)는 제 2 워커 노드 그룹(201)에서 생성되는 사용자 가상 머신 간에 통신이나 사용자 가성 머신과 외부 통신을 위한 네트워크일 수 있다.The fourth type network 710 may be a network for communication between user virtual machines created in the second worker node group 201 or for external communication with a user virtual machine.

도 7에 도시한 스위치 그룹의 구성은 Leaf 스위치와 Spine 스위치로 구성되었고, VXLAN-EVPN으로 연결 설정을 구성하였지만 이는 하나의 예이며 이러한 구성으로 한정되지 않는다.The configuration of the switch group shown in FIG. 7 is composed of a Leaf switch and a Spine switch, and a connection setting is configured with VXLAN-EVPN, but this is an example and is not limited to this configuration.

제 4 타입 네트워크(710)는 제 1 사용자 가상 머신과 제 2 사용자 가상 머신 간에 통신을 하기 위해 트래픽이 스위치 패브릭 구조를 따라 리프 스위치 -> 스파인 스위치 -> 리프 스위치로 이동할 수 있다.In the fourth type network 710 , traffic may move from a leaf switch to a spine switch to a leaf switch along a switch fabric structure in order to communicate between a first user virtual machine and a second user virtual machine.

적어도 하나의 가상 리프 스위치와 적어도 하나의 가상 PM(201-1' ~ 201-4')간에 연결(710-1) 뿐만 아니라, 적어도 하나의 가상 리프 스위치와 적어도 하나의 가상 스파인 스위치 간에 연결(710-2)이 제 4 타입 네트워크(710)로 이루어질 수 있다.Connection 710-1 between at least one virtual leaf switch and at least one virtual PM 201-1' to 201-4', as well as connection 710 between at least one virtual leaf switch and at least one virtual spine switch -2) may be made of the fourth type network 710 .

예를 들어서, 상술한 오픈스택의 Neutron API에 의해서 제 4 타입 네트워크(710)에 대한 설정이 이루어질 수 있다. Neutron API는, 스위치 그룹에 포함되어 있는 스위치 구성들을 컨트롤 하거나 설정을 적용하기 위하여, 상술한 스위치 컨트롤러 그룹에 포함되는 스위치 컨트롤러(240-1 ~ 240-3)를 통하여 수행할 수 있다. 즉, 제 1 사용자 가상 머신과 제 2 사용자 가상 머신 간에 연결을 설정하기 위하여, Neutron API는 마스터 모드로 설정된 스위치 컨트롤러(도 2의 예시에서 240-1)를 제어할 수 있다.For example, settings for the fourth type network 710 can be made by the above-described Neutron API of OpenStack. The Neutron API can be performed through the switch controllers 240-1 to 240-3 included in the aforementioned switch controller group in order to control switch configurations included in the switch group or apply settings. That is, in order to establish a connection between the first user virtual machine and the second user virtual machine, the Neutron API may control the switch controller (240-1 in the example of FIG. 2) set to the master mode.

초기에 사용자 가상 머신이 없을 때에는 네트워크 설정이 없다가, 사용자 가상 머신이 생성되면 생성된 사용자 가상 머신에 해당하는 VLAN 정보, IP 정보, 포트 정보 등을 가상 리프 스위치에 등록될 수 있다.Initially, when there is no user virtual machine, there is no network setting. When the user virtual machine is created, VLAN information, IP information, port information, etc. corresponding to the created user virtual machine may be registered in the virtual leaf switch.

이상으로 본 발명에 따른 IaaS 테스트 시스템(100)의 실시예를 설시하였으나 이는 적어도 하나의 실시예로서 설명되는 것이며, 이에 의하여 본 발명의 기술적 사상과 그 구성 및 작용이 제한되지는 아니하는 것으로, 본 발명의 기술적 사상의 범위가 도면 또는 도면을 참조한 설명에 의해 한정/제한되지는 아니하는 것이다. 또한 본 발명에서 제시된 발명의 개념과 실시예가 본 발명의 동일 목적을 수행하기 위하여 다른 구조로 수정하거나 설계하기 위한 기초로써 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에 의해 사용되어질 수 있을 것인데, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에 의한 수정 또는 변경된 등가 구조는 청구범위에서 기술되는 본 발명의 기술적 범위에 구속되는 것으로서, 청구범위에서 기술한 발명의 사상이나 범위를 벗어나지 않는 한도 내에서 다양한 변화, 치환 및 변경이 가능한 것이다.Above, the embodiment of the IaaS test system 100 according to the present invention has been described, but this is described as at least one embodiment, and thereby the technical spirit of the present invention and its configuration and operation are not limited. The scope of the technical idea of the invention is not limited / limited by the drawings or the description referring to the drawings. In addition, the concepts and embodiments of the present invention presented in the present invention can be used by those skilled in the art as a basis for modifying or designing other structures to achieve the same purpose of the present invention. , Modified or changed equivalent structure by a person of ordinary skill in the art to which the present invention belongs is bound by the technical scope of the present invention described in the claims, and does not depart from the spirit or scope of the invention described in the claims. Various changes, substitutions and modifications are possible within the limits.

Claims (12)

제 1 및 제 2 PM(Physical Machine)을 포함되도록 구성되는 IaaS 개발 테스트베드 시스템에 있어서,
마스터 노드 그룹;
상기 마스터 노드 그룹에 의해 제어되는 제 1 및 제 2 워커 노드 그룹; 및
상기 제 2 워커 노드 그룹과 연결되는 적어도 하나의 스위치를 포함하는 스위치 그룹을 포함하되,
상기 마스터 노드 그룹 및 상기 제 1 워커 노드 그룹은 상기 제 1 PM에 포함되도록 구성되며,
상기 제 2 워커 노드 그룹은 상기 제 2 PM에 포함되도록 구성되고,
상기 마스터 노드 그룹, 상기 제 1 및 제 2 워커 노드 그룹에 포함되어 있는 노드는, 가상 머신(Virtual Machine, VM)으로 구성되고,
상기 제 2 워커 노드 그룹은 적어도 하나의 사용자 가상 머신을 생성 및 구동하는 적어도 하나의 컴퓨트 노드를 포함하며,
상기 제 1 워커 노드 그룹은 상기 적어도 하나의 사용자 가상 머신의 운영을 위한 적어도 하나의 컨트롤러 노드를 포함하며,
상기 제 1 및 제 2 PM은 제 1 타입 네트워크로 연결되고,
상기 마스터 노드 그룹과 상기 제 1 및 제 2 워커 노드 그룹은 제 2 타입 네트워크로 연결되도록 구성되며,
상기 제 1 및 제 2 타입 네트워크는 서로 종류의 네트워크인,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
In the IaaS development test bed system configured to include the first and second PMs (Physical Machines),
master node group;
first and second worker node groups controlled by the master node group; and
A switch group including at least one switch connected to the second worker node group,
The master node group and the first worker node group are configured to be included in the first PM,
The second worker node group is configured to be included in the second PM,
Nodes included in the master node group and the first and second worker node groups are composed of virtual machines (VMs),
The second worker node group includes at least one compute node that creates and runs at least one user virtual machine,
The first worker node group includes at least one controller node for operating the at least one user virtual machine,
The first and second PMs are connected to a first type network;
The master node group and the first and second worker node groups are configured to be connected by a second type network,
wherein the first and second type networks are networks of different types;
Cloud environment based IaaS development test bed system.
삭제delete 삭제delete 제 1 항에 있어서,
상기 제 1 타입 네트워크는,
상기 제 1 및 제 2 PM 간에 직접적으로 연결되는 유선 네트워크 및 인캡슐 되는 프로토콜을 사용하여 논리적으로 연결되는 무선 네트워크 중 적어도 하나를 포함하는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 1,
The first type network,
At least one of a wired network directly connected between the first and second PMs and a wireless network logically connected using an encapsulated protocol,
Cloud environment based IaaS development test bed system.
제 1 항에 있어서,
상기 제 1 및 제 2 워커 노드 그룹 간에는 제 3 타입 네트워크로 연결되는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 1,
A third type network is connected between the first and second worker node groups,
Cloud environment based IaaS development test bed system.
제 5 항에 있어서,
상기 제 3 타입 네트워크는,
상기 적어도 하나의 가상 컨트롤러 노드가, 상기 적어도 하나의 컴퓨트 노드에 생성되는 상기 적어도 하나의 사용자 가상 머신을 운영하기 위하여 사용되는 네트워크인,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 5,
The third type network,
The at least one virtual controller node is a network used to operate the at least one user virtual machine created in the at least one compute node.
Cloud environment based IaaS development test bed system.
제 1 항에 있어서,
상기 마스터 노드 그룹에 요구되는 제 1 구성 요소는 제 1 컨테이너로 설치되고, 상기 제 1 워커 노드 그룹에 요구되는 제 2 구성 요소는 제 2 컨테이너로 설치되며, 상기 제 2 워커 노드 그룹에 요구되는 제 3 구성 요소는 제 3 컨테이너로 설치되는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 1,
The first component required for the master node group is installed as a first container, the second component required for the first worker node group is installed as a second container, and the second component required for the second worker node group is installed. 3 components are installed into the 3rd container,
Cloud environment based IaaS development test bed system.
제 7 항에 있어서,
상기 제 1 컨테이너에 기초하여 설치되는 제 1 구성 요소는, 상기 제 2 타입 네트워크에 기초하여 상기 제 2 및 제 3 컨테이너를 관리하는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 7,
A first component installed based on the first container manages the second and third containers based on the second type network.
Cloud environment based IaaS development test bed system.
제 8 항에 있어서,
상기 제 1 컨테이너에 기초하여 설치되는 제 1 구성 요소는, 제 1 컨테이너를 더 관리하는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 8,
The first component installed based on the first container further manages the first container,
Cloud environment based IaaS development test bed system.
제 1 항에 있어서,
상기 적어도 하나의 가상 컨트롤러 노드는, 상기 적어도 하나의 가상머신의 생성, 수정 및 삭제 중 적어도 하나를 수행하는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 1,
The at least one virtual controller node performs at least one of creation, modification, and deletion of the at least one virtual machine,
Cloud environment based IaaS development test bed system.
제 1 항에 있어서,
상기 테스트베드 시스템은,
쿠버네티스 오케스트레이션 플랫폼에 기초하여 구현되고,
상기 마스터 노드 그룹은, 상기 쿠버네티스 오케스트레이션 플랫폼의 마스터 노드를 포함하도록 구성되고,
상기 제 1 및 제 2 워커 노드 그룹은, 상기 쿠버네티스 오케스트레이션 플랫폼의 워커 노드를 포함하도록 구성되고,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 1,
The test bed system,
Implemented on top of the Kubernetes orchestration platform,
The master node group is configured to include a master node of the Kubernetes orchestration platform,
The first and second worker node groups are configured to include worker nodes of the Kubernetes orchestration platform,
Cloud environment based IaaS development test bed system.
제 11 항에 있어서,
상기 테스트베드 시스템은,
오픈스택에 기초하여 구현되고,
상기 적어도 하나의 컨트롤러 노드는 상기 오픈스택의 컨트롤러 노드로 구현되고,
상기 적어도 하나의 컴퓨트 노드는 상기 오픈스택의 컴퓨트 노드로 구현되는 것을 특징으로 하는,
클라우드 환경 기반 IaaS 개발 테스트베드 시스템.
According to claim 11,
The test bed system,
It is implemented based on OpenStack,
The at least one controller node is implemented as a controller node of the OpenStack,
Characterized in that the at least one compute node is implemented as a compute node of the OpenStack,
Cloud environment based IaaS development test bed system.
KR1020210094716A 2021-07-20 2021-07-20 Test bed system and its control method KR102554198B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210094716A KR102554198B1 (en) 2021-07-20 2021-07-20 Test bed system and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210094716A KR102554198B1 (en) 2021-07-20 2021-07-20 Test bed system and its control method

Publications (2)

Publication Number Publication Date
KR20230013802A KR20230013802A (en) 2023-01-27
KR102554198B1 true KR102554198B1 (en) 2023-07-10

Family

ID=85101810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210094716A KR102554198B1 (en) 2021-07-20 2021-07-20 Test bed system and its control method

Country Status (1)

Country Link
KR (1) KR102554198B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054367A1 (en) * 2010-08-24 2012-03-01 Ramakrishnan Kadangode K Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
JP2016115182A (en) * 2014-12-16 2016-06-23 日本電信電話株式会社 Virtual equipment test device, virtual equipment test method and virtual equipment test program
KR101807806B1 (en) * 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072058A (en) * 2010-12-23 2012-07-03 한국전자통신연구원 Apparatus and method for identifying virtual node

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054367A1 (en) * 2010-08-24 2012-03-01 Ramakrishnan Kadangode K Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
JP2016115182A (en) * 2014-12-16 2016-06-23 日本電信電話株式会社 Virtual equipment test device, virtual equipment test method and virtual equipment test program
KR101807806B1 (en) * 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform

Also Published As

Publication number Publication date
KR20230013802A (en) 2023-01-27

Similar Documents

Publication Publication Date Title
US9189294B2 (en) Environment preserving cloud migration and management
US11294699B2 (en) Dynamically scaled hyperconverged system establishing minimum supported interoperable communication protocol between clusters in a cluster group
US10050850B2 (en) Rack awareness data storage in a cluster of host computing devices
Wood et al. CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines
US8874749B1 (en) Network fragmentation and virtual machine migration in a scalable cloud computing environment
Kallahalla et al. SoftUDC: A software-based data center for utility computing
US20190334765A1 (en) Apparatuses and methods for site configuration management
CN111522628A (en) Kubernets cluster building and deploying method, architecture and storage medium based on OpenStack
US20200106669A1 (en) Computing node clusters supporting network segmentation
US11196640B2 (en) Releasing and retaining resources for use in a NFV environment
US20210406088A1 (en) Federated operator for edge computing network
Cerbelaud et al. Opening the clouds: qualitative overview of the state-of-the-art open source VM-based cloud management platforms
CN115280728A (en) Software defined network coordination in virtualized computer systems
US11263037B2 (en) Virtual machine deployment
KR20170000568A (en) Apparatus and method for virtual desktop service based on in-memory
US20150372935A1 (en) System and method for migration of active resources
US20210250234A1 (en) Methods and apparatus to migrate physical server hosts between virtual standard switches and virtual distributed switches in a network
KR20150109692A (en) Apparatus and method for providing virtual machine image file
JP2015526830A (en) Integrated computing platform deployed within an existing computing environment
WO2020088340A1 (en) Method and system for providing cloud computing service
US11805102B2 (en) Remote management of software on private networks
KR102554198B1 (en) Test bed system and its control method
US10642639B2 (en) Static IP retention for multi-homed VMs on migration
Haga et al. Windows server 2008 R2 hyper-V server virtualization
Zhang et al. An automatic deployment mechanism on cloud computing platform

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant