KR20230056167A - Automated test method and apparatus for container-based network service - Google Patents
Automated test method and apparatus for container-based network service Download PDFInfo
- Publication number
- KR20230056167A KR20230056167A KR1020210139883A KR20210139883A KR20230056167A KR 20230056167 A KR20230056167 A KR 20230056167A KR 1020210139883 A KR1020210139883 A KR 1020210139883A KR 20210139883 A KR20210139883 A KR 20210139883A KR 20230056167 A KR20230056167 A KR 20230056167A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- tenant
- manager
- traffic
- infrastructure
- Prior art date
Links
- 238000010998 test method Methods 0.000 title claims description 6
- 238000012360 testing method Methods 0.000 claims abstract description 136
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000013100 final test Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 claims description 2
- 239000000284 extract Substances 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000000306 component Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
Description
본 발명은 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치에 관한 것이다. The present invention relates to an automated test method and apparatus for container-based network services.
ETSI(European Telecommunications Standards Institutes)는 네트워크 설치 및 운영비용 감소를 위해 NFV(Network function virtualization, 네트워크 기능 가상화) 및 관련 개념을 정의하고 있다. ETSI (European Telecommunications Standards Institutes) defines NFV (Network Function Virtualization) and related concepts to reduce network installation and operation costs.
NFV 네트워크의 가상 네트워크 기능(Virtual Network Function, VNF)은 전용 하드웨어 대신 공유 서버의 상단에 있는 가상 머신 또는 컨테이너에서 소프트웨어적으로 네트워크 기능을 구현한다. A virtual network function (VNF) of an NFV network implements a network function in software in a virtual machine or container on top of a shared server instead of dedicated hardware.
NFV 환경에서 VNF 테스트는 핵심기술 중 하나로 간주되고 있다. 단일 VNF는 적합성 테스트 및 성능 테스트를 수행해야 한다. In the NFV environment, VNF testing is considered as one of the key technologies. A single VNF must undergo conformance testing and performance testing.
또한, VNF는 실제 서비스를 제공하기 위해 다른 VNF와 통신하기 때문에 여러 VNF간의 통신을 확인하기 위한 상호운용성 테스트를 수행해야 한다. In addition, since VNFs communicate with other VNFs to provide actual services, interoperability tests must be performed to verify communication between multiple VNFs.
VNF 테스트에 대한 이전 연구는 단일 VNF 플랫폼 테스트에만 국한되었고, 다수의 VNF간 상호운용성 테스트는 다루어지지 않았다. Previous research on VNF testing was limited to single VNF platform testing, and interoperability testing between multiple VNFs was not addressed.
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 다수의 VNF간 상호운용성 테스트가 가능한 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치를 제안하고자 한다. In order to solve the problems of the prior art, the present invention proposes an automated test method and apparatus for a container-based network service capable of testing interoperability between a plurality of VNFs.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 복수의 가상 네트워크 기능(VNF)을 포함하는 테스트 대상 시스템의 테스트 실행에 필요한 리소스를 추출하고, 테스트 실행을 위한 인프라 구성 명령어를 생성하는 테넌트(Tenant); 상기 테넌트로부터 상기 인프라 구성 명령어를 수신하여 가상 인프라 관리자(Virtual Infrastructure Manager)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하는 인프라 코드 도구; 상기 테넌트가 전송하는 테스트 설명의 메타데이터를 매개변수로 하여 테스트 스크립트를 생성하는 테스트 관리자; 상기 테스크 스크립트에 따라 트래픽을 생성하고 상기 테스트 대상 시스템으로 전달하는 트래픽 생성기; 상기 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고, 상기 네트워크 서비스 패키지를 위한 필요한 정보를 수집하고 수집된 테스트 보고서 로그를 생성하는 모니터 에이전트; 및 상기 테스트 보고서 로그를 수신하고, 모든 테스트 종료 시 최종 테스트 결과를 상기 테넌트로 전송하는 모니터 관리자를 포함하는 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 장치가 제공된다. In order to achieve the above object, according to an embodiment of the present invention, resources required for test execution of a system under test including a plurality of virtual network functions (VNFs) are extracted, and infrastructure configuration commands for test execution are provided. A tenant that creates a (Tenant); an infrastructure code tool that receives the infrastructure configuration command from the tenant and causes a virtual infrastructure manager to install a Kubernetes cluster required for testing; a test manager generating a test script using metadata of the test description transmitted by the tenant as a parameter; a traffic generator generating traffic according to the task script and transmitting the traffic to the test target system; a monitor agent that captures a network service package according to traffic input to the system under test, collects necessary information for the network service package, and generates a collected test report log; and a monitor manager for receiving the test report log and transmitting a final test result to the tenant when all tests are finished.
상기 테넌트는 복수의 사용자가 API/CLI(Application Programming Interface/Command Line Interface) 게이트웨이를 통해 상기 테스트 대상 시스템을 위한 네트워크 서비스 패키지를 입력되는 경우 상기 인프라 구성 명령어를 생성할 수 있다. The tenant may generate the infrastructure configuration command when a plurality of users input a network service package for the system under test through an API/CLI (Application Programming Interface/Command Line Interface) gateway.
상기 리소스는 상기 복수의 사용자 각각에 대해 개별적으로 할당될 수 있다.The resource may be individually allocated to each of the plurality of users.
상기 테넌트, 인프라 코드 도구, 테스트 관리자, 트래픽 생성기, 모니터 에이전트 및 모니터 관리자는 JSON(JavaScript Object Notation) 메시지 형식을 사용하는 REST(Representational State Transfer) API를 통해 요청-응답을 수신할 수 있다. The tenant, infrastructure code tool, test manager, traffic generator, monitor agent, and monitor manager may receive a request-response through a Representational State Transfer (REST) API using a JSON (JavaScript Object Notation) message format.
상기 네트워크 서비스 패키지는 가상 네트워크 기능이 YAML 언어로 작성된 테스트 설명 및 테스트 프로파일로 구성될 수 있다. The network service package may consist of test descriptions and test profiles in which virtual network functions are written in YAML language.
상기 테스트 관리자는 상기 모니터 관리자로 테스트 프로파일을 통지할 수 있다. The test manager may notify the test profile to the monitor manager.
상기 테넌트는 상기 최종 테스트 결과를 사용자에게 출력하며, 테스트에 사용된 모든 네트워크 및 리소스들을 소멸(deploy)시킬 수 있다. The tenant may output the final test result to the user and deploy all networks and resources used in the test.
상기 모니터 에이전트는 사이드카 컨테이너로서 상기 가상 네트워크 기능에 통합될 수 있다. The monitor agent may be integrated into the virtual network function as a sidecar container.
본 발명의 다른 측면에 따르면, 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법으로서, 테넌트(Tenant)가 복수의 가상 네트워크 기능(VNF)을 포함하는 테스트 대상 시스템의 테스트 실행에 필요한 리소스를 추출하고, 테스트 실행을 위한 인프라 구성 명령어를 생성하는 단계; 인프라 코드 도구가 상기 테넌트로부터 상기 인프라 구성 명령어를 수신하여 가상 인프라 관리자(Virtual Infrastructure Manager)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하는 단계; 테스트 관리자가 상기 테넌트가 전송하는 테스트 설명의 메타데이터를 매개변수로 하여 테스트 스크립트를 생성하는 단계; 트래픽 생성기가 상기 테스크 스크립트에 따라 트래픽을 생성하고 상기 테스트 대상 시스템으로 전달하는 단계; 모니터 에이전트가 상기 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고, 상기 네트워크 서비스 패키지를 위한 필요한 정보를 수집하고 수집된 테스트 보고서 로그를 생성하는 단계; 및 상기 모니터 관리자가 상기 테스트 보고서 로그를 수신하고, 모든 테스트 종료 시 최종 테스트 결과를 상기 테넌트로 전송하는 단계를 포함하는 자동화된 테스트 방법이 제공된다. According to another aspect of the present invention, as an automated test method for a container-based network service, a tenant extracts resources necessary for test execution of a test target system including a plurality of virtual network functions (VNFs), and tests generating an infrastructure configuration command for execution; Instructing an infrastructure code tool to receive the infrastructure configuration command from the tenant and to have a virtual infrastructure manager install a Kubernetes cluster required for testing; generating, by a test manager, a test script using metadata of a test description transmitted by the tenant as a parameter; generating, by a traffic generator, traffic according to the task script and transmitting the traffic to the test target system; capturing, by a monitor agent, a network service package according to traffic input to the system under test, collecting necessary information for the network service package, and generating a collected test report log; and receiving, by the monitor manager, the test report log, and transmitting a final test result to the tenant when all tests are finished.
본 발명의 또 다른 측면에 따르면, 상기한 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공된다. According to another aspect of the present invention, a computer readable recording medium storing a program for performing the above method is provided.
본 발명에 따르면, 다수의 VNF간 상호운용성 테스트가 가능하다는 장점이 있다. According to the present invention, there is an advantage in that interoperability tests between a plurality of VNFs are possible.
도 1은 본 발명의 바람직한 일 실시예에 따른 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 프레임워크를 도시한 도면이다.
도 2 내지 도 3은 본 발명의 일 실시예에 따른 워크플로우를 도시한 도면이다. 1 is a diagram illustrating an automated test framework for a container-based network service according to a preferred embodiment of the present invention.
2 and 3 are diagrams illustrating a workflow according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
도 1은 본 발명의 바람직한 일 실시예에 따른 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 프레임워크를 도시한 도면이다. 1 is a diagram illustrating an automated test framework for a container-based network service according to a preferred embodiment of the present invention.
NS UT(네트워크 서비스)는 테스트의 대상이 되는 네트워크 기능의 구성이며, 기능 및 동작 사양에 의해 정의된다. 네트워크 서비스에는 복수의 VNF가 연결될 수 있다. NS UT (Network Service) is a configuration of network functions to be tested, and is defined by function and operation specifications. A plurality of VNFs may be connected to a network service.
API/CLI(Application Programming Interface/Command Line Interface) 게이트웨이(100)는 테스트 대상 시스템(VNFs)을 로드하는 인터페이스이다. The API/CLI (Application Programming Interface/Command Line Interface)
테넌트(Tenant, 102)는 테스트를 위해 각 사용자들에게 개별적으로 할당되는 리소스를 관리한다. The tenant (Tenant, 102) manages resources individually assigned to each user for testing.
테넌트(102)는 팩토리(Factory) 패턴을 기반으로 각 사용자에게 별도의 구성 요소 집합을 제공하고, 팩토리 패턴에서는 공통 인터페이스를 사용하여 새로운 객체 세트가 생성된다. 테넌트(102)는 각 사용자에 대해 새로운 시스템 구성 요소 집합을 생성한다. The
인프라 코드 도구(Infrastructure as Code Tool, IaC, 104)는 가상화된 리소스를 프로비저닝하는 일관된 프로세서로 가상화 인프라 관리자를 통해 테스트 대상 시스템을 구축하도록 한다. Infrastructure as Code Tool (IaC, 104) is a coherent processor that provisions virtualized resources, allowing the virtualized infrastructure manager to build the system under test.
인프라 코드 도구(104)는 본 실시예에 따른 테스트 프레임워크가 시험 대상 시스템 활용 및 특정 가상화된 인프라 관리자의 독립성을 자동화하는데 도움을 준다. The
테스트 관리자(Test Manager, 106)는 테스트 스크립트에 따라 필요한 기능이 트래픽 발생기(Traffic generator, 108)에서 실행되도록 한다. The test manager (Test Manager, 106) executes necessary functions in the traffic generator (Traffic generator, 108) according to the test script.
트래픽 생성기(108)는 네트워크 서비스가 사용할 트래픽을 네트워크에 전달하며, 예를 들어, apache bench tool일 수 있다. The
테스트 관리자(106)는 테스트 설명과 테스크 스크립트 기능을 매핑하여 트래픽 생성기(108)에서 실행되는 완료된 명령을 생성하며, 테스트 설명에서 각 테스트 케이스에 대한 프로파일을 제공한다.
모니터 관리자(Monitor Manager, 110)는 실행되는 테스트 케이스에 대한 프로파일을 수신하고, 모니터 에이전트(Monitor agent, 112)로부터 테스트 보고서 로그를 수신한다. The monitor manager (Monitor Manager, 110) receives a profile for the test case being executed, and receives a test report log from the monitor agent (Monitor agent, 112).
모니터 에이전트(112)는 사이드카 컨테이너로서 네트워크 서비스의 각 가상 네트워크 기능(VNF)에 통합되고, 가상 네트워크 기능의 테스트 보고서 로그를 모니터 관리자(110)로 전달한다. The
여기서, 사이드카 컨테이너는 지정된 파드(pod)의 기본 컨테이너와 함께 제공되는 특수 컨테이너로 정의된다. Here, a sidecar container is defined as a special container that comes with the default container for a given pod.
이하에서는 사이드카 컨테이너와 연관되는 쿠버네티스에 대한 설명한다. The following describes Kubernetes related to sidecar containers.
Kubernetes(쿠버네티스, K8s)는 원래 구글에서 구축한 확장 가능하고 이식 가능한 오픈 소스 시스템으로 CNCF(Cloud Native Computing Foundation)에서 개발 및 유지 관리하고 있다. Kubernetes (Kubernetes, K8s) is an extensible, portable, open-source system originally built by Google and developed and maintained by the Cloud Native Computing Foundation (CNCF).
쿠버네티스를 사용하면 노드 클러스터에서 컨테이너를 관리할 수 있다. Kubernetes allows you to manage containers on a cluster of nodes.
컨테이너는 마이크로서비스 아키텍쳐를 위한 핵심기술로 간주된다. Containers are considered a key technology for microservice architectures.
일반적으로 마이크로서비스는 쿠버네티스에서 배포 가능한 가장 작은 단위인 Pod(파드)로 배포된다. In general, microservices are deployed as pods, which are the smallest deployable units in Kubernetes.
애플리케이션 서비스를 제공하기 위해서는 파드 그룹을 관리하고 오케스트레이션한다. To provide application services, you manage and orchestrate groups of pods.
하나 이상의 마스터와 여러 작업자 노드가 쿠버네티스 클러스터를 구성한다.One or more masters and several worker nodes make up a Kubernetes cluster.
실제로는 고가용성 및 로드 밸런싱을 보장하기 위해 더 많은 마스터가 존재한다. In practice, more masters exist to ensure high availability and load balancing.
제어 평면이라고 하는 마스터 노드 집합은 쿠버네티스의 관리 계층이다. 기본적으로 제어 평면에는 쿠버네티스 API를 제공하는 쿠버네티스 API 서버가 포함된다. 쿠버네티스 컴포넌트 간의 모든 통신은 API 서버를 통해 이루어진다. A set of master nodes, called the control plane, is the management layer of Kubernetes. By default, the control plane includes a Kubernetes API server that exposes the Kubernetes API. All communication between Kubernetes components is done through the API server.
API 서버는 gRPC 프로토콜을 통해 분산 키-값 데이터베이스인 Etcd와 통신하고, API 객체의 메타데이터를 Etcd에 저장한다. 쿠버네티스 클러스터의 모든 리소스는 API 객체로 표시된다. 제어 평면의 다른 부분은 Kube-controller-manager가 실행하는 컨트롤러이다. The API server communicates with Etcd, a distributed key-value database, via the gRPC protocol, and stores metadata of API objects in Etcd. All resources in a Kubernetes cluster are represented as API objects. The other part of the control plane is the controllers run by kube-controller-manager.
Kube-controller-manager는 다양한 컨트롤러로 구성된다. 각 종류의 작업 부하 리소스에는 이 작업 부하 리소스의 논리를 제공하는 각각의 컨트롤러가 있다. Kube-controller-manager consists of various controllers. Each kind of workload resource has its own controller that provides the logic for this workload resource.
컨트롤러는 API를 통해 리소스 개체를 모니터링한다. 쿠버네티스에서 컨트롤러는 클러스터의 상태를 관찰한 다음 필요한 경우 변경을 수행하거나 요청하는 제어 루프 역할을 한다. The controller monitors resource objects through an API. In Kubernetes, the Controller acts as a control loop that observes the state of the cluster and then makes or requests changes as needed.
특히, 각 컨트롤러는 현재 상태를 원하는 상태에 더 가깝게 동기화하려고 시도한다. 마지막으로 제어 평면에는 스케줄러가 포함된다. 스케줄러는 예약되지 않은 파드에 대한 API를 통해 클러스터의 상태를 모니터링하고, 예약 알고리즘을 실행하고, 예약된 노드에 대한 정보로 파드를 업데이트한다.In particular, each controller attempts to synchronize the current state closer to the desired state. Finally, the control plane includes the scheduler. The scheduler monitors the health of the cluster via an API for unscheduled pods, runs scheduling algorithms, and updates pods with information about reserved nodes.
트래픽 싱크(Traffic Sink, 114)는 트래픽 생성기(108)에서 발생하는 트래픽을 수신하는 종단점이다. The
도 2 내지 도 3은 본 발명의 일 실시예에 따른 워크플로우를 도시한 도면이다. 2 to 3 are diagrams illustrating a workflow according to an embodiment of the present invention.
핵심 컴포넌트들(테넌트, 인프라 코드 도구, 테스트 관리자, 트래픽 생성기, 모니터 에이전트 및 모니터 관리자)의 상호 작용은 JSON(JavaScript Object Notation) 메시지 형식을 사용하는 REST(Representational State Transfer) API를 통해 "요청-응답" 패러다임을 따른다. The interaction of the core components (tenant, infrastructure code tool, test manager, traffic generator, monitor agent, and monitor manager) is "request-response" via a Representational State Transfer (REST) API using JavaScript Object Notation (JSON) message format. "Follow the paradigm.
도 2를 참조하면, 사용자는 API/CLI 게이트웨이(100)를 통해 테스트 대상 시스템을 위한 네트워크 서비스 패키지를 입력한다(단계 200). Referring to FIG. 2 , the user inputs a network service package for the system under test through the API/CLI gateway 100 (step 200).
네트워크 서비스 패키지는 가상 네트워크 기능이 YAML 언어로 작성된 테스트 설명 및 테스트 프로파일로 구성된다. The network service package consists of a test description and test profile in which the virtual network function is written in YAML language.
테넌트(102)는 각 사용자에 대해 리소스를 분리하여 관리하며 테스트 실행에 필요한 리소스를 추출하고, 테스트 실행을 위한 인프라 구성 명령어(command)를 인프라 코드 도구(104)로 명령어를 전송한다(단계 202). The
상기한 명령을 수신한 인프라 코드 도구(104)는 가상 인프라 관리자(Virtual Infrastructure Manager, 116)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하고(단계 204), 가상 인프라 관리자(116)가 가상 네트워크 기능(VNF), 트래픽 생성기(108) 및 모니터 에이전트(112)와의 통신을 통해 생성된 리소스를 테넌트(102)로 전송한다(단계 206). Upon receiving the above command, the
또한, 테넌트(102)는 테스트 실행에 필요한 테스트 설명을 테스트 관리자(106)에게 전송한다(단계 208). In addition, the
테스트 관리자(106)는 테스트 설명과 테스크 스크립트 기능을 매핑하고, 테스트 대상 시스템이 성공적으로 배포될 때까지 대기한다(단계 210). The
테스트 기능이 내장된 테스트 관리자(106)는 테스트 설명의 메타데이터를 매개변수로 사용하여 테스트 스크립트를 생성한다. The
도 3을 참조하면, 테스트 관리자(106)는 테스트 케이스(프로파일)를 모니터 관리자(110)에게 통지하고(단계 300), 그런 다음 테스트 스크립트가 테스트 대상 시스템에서 실행된다(단계 302). Referring to FIG. 3 , the
트래픽 생성기(108)는 테스크 스크립트에 따라 트래픽을 생성하고 테스트 대상 시스템으로 전달한다(단계 304).The
발생된 트래픽들은 해당 VNF에 입력되고, 모니터 에이전트(112)는 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고 네트워크 서비스 패키지에 필요한 정보를 수집한다(단계 306). The generated traffic is input to the corresponding VNF, and the
도 1에 도시된 바와 같이, 모니터 에이전트(112)는 개별 가상 네트워크 기능에 대응된다. As shown in FIG. 1, the
모니터 에이전트(112)는 수집된 테스트 보고서 로그를 모니터 관리자(110)에게 전송한다(단계 308). The
모든 테스트가 종료되면 모니터 관리자(110)는 최종 테스트 결과를 테넌트(102)에게 보고한다(단계310). When all tests are completed, the
테넌트(102)는 최종 테스트 결과를 사용자에게 출력하며(단계 312), 이후 테스트에 사용된 모든 네트워크 및 리소스들을 소멸(deploy)시킨다(단계 314). The
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above have been disclosed for illustrative purposes, and those skilled in the art having ordinary knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions will be considered to fall within the scope of the following claims.
Claims (10)
상기 테넌트로부터 상기 인프라 구성 명령어를 수신하여 가상 인프라 관리자(Virtual Infrastructure Manager)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하는 인프라 코드 도구;
상기 테넌트가 전송하는 테스트 설명의 메타데이터를 매개변수로 하여 테스트 스크립트를 생성하는 테스트 관리자;
상기 테스크 스크립트에 따라 트래픽을 생성하고 상기 테스트 대상 시스템으로 전달하는 트래픽 생성기;
상기 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고, 상기 네트워크 서비스 패키지를 위한 필요한 정보를 수집하고 수집된 테스트 보고서 로그를 생성하는 모니터 에이전트; 및
상기 테스트 보고서 로그를 수신하고, 모든 테스트 종료 시 최종 테스트 결과를 상기 테넌트로 전송하는 모니터 관리자를 포함하는 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 장치. A tenant extracting resources necessary for test execution of a test target system including a plurality of virtual network functions (VNFs) and generating infrastructure configuration commands for test execution;
an infrastructure code tool that receives the infrastructure configuration command from the tenant and causes a virtual infrastructure manager to install a Kubernetes cluster required for testing;
a test manager generating a test script using metadata of the test description transmitted by the tenant as a parameter;
a traffic generator generating traffic according to the task script and transmitting the traffic to the test target system;
a monitor agent that captures a network service package according to traffic input to the system under test, collects necessary information for the network service package, and generates a collected test report log; and
An automated test device for a container-based network service including a monitor manager that receives the test report log and transmits a final test result to the tenant when all tests are finished.
상기 테넌트는 복수의 사용자가 API/CLI(Application Programming Interface/Command Line Interface) 게이트웨이를 통해 상기 테스트 대상 시스템을 위한 네트워크 서비스 패키지를 입력되는 경우 상기 인프라 구성 명령어를 생성하는 자동화된 테스트 장치. According to claim 1,
The tenant is an automated test device that generates the infrastructure configuration command when a plurality of users input a network service package for the system under test through an API/CLI (Application Programming Interface/Command Line Interface) gateway.
상기 리소스는 상기 복수의 사용자 각각에 대해 개별적으로 할당되는 자동화된 테스트 장치.According to claim 2,
The automated test device wherein the resource is allocated individually for each of the plurality of users.
상기 테넌트, 인프라 코드 도구, 테스트 관리자, 트래픽 생성기, 모니터 에이전트 및 모니터 관리자는 JSON(JavaScript Object Notation) 메시지 형식을 사용하는 REST(Representational State Transfer) API를 통해 요청-응답을 수신하는 자동화된 테스트 장치.According to claim 1,
The tenant, infrastructure code tool, test manager, traffic generator, monitor agent, and monitor manager receive a request-response through a REST (Representational State Transfer) API using JSON (JavaScript Object Notation) message format Automated test device.
상기 네트워크 서비스 패키지는 가상 네트워크 기능이 YAML 언어로 작성된 테스트 설명 및 테스트 프로파일로 구성되는 자동화된 테스트 장치.According to claim 1,
The network service package is an automated test device in which virtual network functions are composed of test descriptions and test profiles written in the YAML language.
상기 테스트 관리자는 상기 모니터 관리자로 테스트 프로파일을 통지하는 자동화된 테스트 장치.According to claim 1,
The test manager notifies the test profile to the monitor manager.
상기 테넌트는 상기 최종 테스트 결과를 사용자에게 출력하며, 테스트에 사용된 모든 네트워크 및 리소스들을 소멸(deploy)시키는 자동화된 테스트 장치.According to claim 1,
The tenant outputs the final test result to the user, and the automated test device deploys all networks and resources used in the test.
상기 모니터 에이전트는 사이드카 컨테이너로서 상기 가상 네트워크 기능에 통합되는 자동화된 테스트 장치.According to claim 1,
The monitor agent is an automated test device integrated into the virtual network function as a sidecar container.
테넌트(Tenant)가 복수의 가상 네트워크 기능(VNF)을 포함하는 테스트 대상 시스템의 테스트 실행에 필요한 리소스를 추출하고, 테스트 실행을 위한 인프라 구성 명령어를 생성하는 단계;
인프라 코드 도구가 상기 테넌트로부터 상기 인프라 구성 명령어를 수신하여 가상 인프라 관리자(Virtual Infrastructure Manager)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하는 단계;
테스트 관리자가 상기 테넌트가 전송하는 테스트 설명의 메타데이터를 매개변수로 하여 테스트 스크립트를 생성하는 단계;
트래픽 생성기가 상기 테스크 스크립트에 따라 트래픽을 생성하고 상기 테스트 대상 시스템으로 전달하는 단계;
모니터 에이전트가 상기 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고, 상기 네트워크 서비스 패키지를 위한 필요한 정보를 수집하고 수집된 테스트 보고서 로그를 생성하는 단계; 및
상기 모니터 관리자가 상기 테스트 보고서 로그를 수신하고, 모든 테스트 종료 시 최종 테스트 결과를 상기 테넌트로 전송하는 단계를 포함하는 자동화된 테스트 방법As an automated test method for container-based network services,
extracting, by a tenant, resources necessary for test execution of a system under test including a plurality of virtual network functions (VNFs), and generating an infrastructure configuration command for test execution;
Instructing an infrastructure code tool to receive the infrastructure configuration command from the tenant and to have a virtual infrastructure manager install a Kubernetes cluster required for testing;
generating, by a test manager, a test script using metadata of a test description transmitted by the tenant as a parameter;
generating, by a traffic generator, traffic according to the task script and transmitting the traffic to the test target system;
capturing, by a monitor agent, a network service package according to traffic input to the system under test, collecting necessary information for the network service package, and generating a collected test report log; and
An automated test method comprising receiving the test report log by the monitor manager and transmitting a final test result to the tenant when all tests are finished.
A computer-readable recording medium storing a program for performing the method according to claim 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210139883A KR20230056167A (en) | 2021-10-20 | 2021-10-20 | Automated test method and apparatus for container-based network service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210139883A KR20230056167A (en) | 2021-10-20 | 2021-10-20 | Automated test method and apparatus for container-based network service |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230056167A true KR20230056167A (en) | 2023-04-27 |
Family
ID=86100154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210139883A KR20230056167A (en) | 2021-10-20 | 2021-10-20 | Automated test method and apparatus for container-based network service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230056167A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102262395B1 (en) | 2019-10-10 | 2021-06-08 | 숭실대학교산학협력단 | Test apparatus to test interoperability of nfv system |
-
2021
- 2021-10-20 KR KR1020210139883A patent/KR20230056167A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102262395B1 (en) | 2019-10-10 | 2021-06-08 | 숭실대학교산학협력단 | Test apparatus to test interoperability of nfv system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2796996B1 (en) | Cloud infrastructure based management system and method for performing maintenance and deployment for application system | |
CN107493310B (en) | Cloud resource processing method and cloud management platform | |
CN105429780B (en) | A method of virtualization network service business automatically generates and dynamic monitors | |
CN109889381B (en) | Automatic configuration management method and device based on fort machine | |
US11483218B2 (en) | Automating 5G slices using real-time analytics | |
CN113742031B (en) | Node state information acquisition method and device, electronic equipment and readable storage medium | |
CN108306804A (en) | A kind of Ethercat main station controllers and its communication means and system | |
CN110138876B (en) | Task deployment method, device, equipment and platform | |
CN111158708A (en) | Task arrangement engine system | |
US11489729B2 (en) | Agentless access control system for profile management | |
US20130297803A1 (en) | Method for providing development and deployment services using a cloud-based platform and devices thereof | |
CN114205230A (en) | Method, system, medium and electronic device for configuring cloud native network element | |
CN112799970B (en) | Test data processing method, device, electronic equipment and medium | |
CN109995671B (en) | Resource allocation method of virtualized content distribution network and network service equipment | |
CN110636127B (en) | Communication processing method and system between information data | |
CN101969442B (en) | Process running environment perception and migration based network analog framework implementation method | |
WO2019240274A1 (en) | Orchestration device, vnfm device, management device and program | |
KR20230056167A (en) | Automated test method and apparatus for container-based network service | |
US20230266996A1 (en) | Distributed ai platform mesh for machine learning workflows | |
US11575679B2 (en) | Agentless access control system for dynamic calibration of software permissions | |
US11388057B1 (en) | Agentless control system for lifecycle event management | |
Lanui et al. | A cloud-based solution for testing applications' compatibility and portability on fragmented android platform | |
CN112217693B (en) | Controller testing method and device, electronic equipment and storage medium | |
CN114721827A (en) | Data processing method and device | |
CN114500530A (en) | Automatic adjustment method for civil edge information system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |