KR20230056167A - Automated test method and apparatus for container-based network service - Google Patents

Automated test method and apparatus for container-based network service Download PDF

Info

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
Application number
KR1020210139883A
Other languages
Korean (ko)
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 KR1020210139883A priority Critical patent/KR20230056167A/en
Publication of KR20230056167A publication Critical patent/KR20230056167A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

The present invention discloses an automated testing method and a device for container-based network services. According to the present invention, provided is an automated test device for container-based network services, comprising: a tenant which extracts resources required for test execution of a system under test which includes multiple virtual network functions (VNFs), and generates infrastructure configuration commands for test execution; an infrastructure code tool which 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 which creates a test script using metadata of the test description transmitted by the tenant as a parameter; a traffic generator which generates traffic according to the task script and delivers it to the system under test; a monitor agent which 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 who receives the test report log and sends the final test results to the tenant upon completion of all tests. Accordingly, the present invention has the advantage of being able to test interoperability between multiple VNFs.

Description

컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치{Automated test method and apparatus for container-based network service}Automated test method and apparatus for container-based network service {Automated test method and apparatus for container-based network service}

본 발명은 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치에 관한 것이다. 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.

대한민국등록특허공보 10-2262395Korean Registered Patent Publication 10-2262395

상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 다수의 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) gateway 100 is an interface that loads systems under test (VNFs).

테넌트(Tenant, 102)는 테스트를 위해 각 사용자들에게 개별적으로 할당되는 리소스를 관리한다. The tenant (Tenant, 102) manages resources individually assigned to each user for testing.

테넌트(102)는 팩토리(Factory) 패턴을 기반으로 각 사용자에게 별도의 구성 요소 집합을 제공하고, 팩토리 패턴에서는 공통 인터페이스를 사용하여 새로운 객체 세트가 생성된다. 테넌트(102)는 각 사용자에 대해 새로운 시스템 구성 요소 집합을 생성한다. The tenant 102 provides a separate set of components to each user based on the Factory pattern, and in the Factory pattern, a new set of objects is created using a common interface. Tenant 102 creates a new set of system components for each user.

인프라 코드 도구(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 infrastructure code tool 104 helps the test framework according to the present embodiment automate system under test utilization and independence of a specific virtualized infrastructure manager.

테스트 관리자(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 traffic generator 108 delivers traffic to the network for use by network services, and may be, for example, an apache bench tool.

테스트 관리자(106)는 테스트 설명과 테스크 스크립트 기능을 매핑하여 트래픽 생성기(108)에서 실행되는 완료된 명령을 생성하며, 테스트 설명에서 각 테스트 케이스에 대한 프로파일을 제공한다. Test manager 106 maps test descriptions and task script functions to generate completed commands that are executed in traffic generator 108, and provides a profile for each test case in the test description.

모니터 관리자(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 monitor agent 112 is integrated into each virtual network function (VNF) of the network service as a sidecar container, and delivers a test report log of the virtual network function to the monitor manager 110 .

여기서, 사이드카 컨테이너는 지정된 파드(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 traffic sink 114 is an endpoint that receives traffic generated by the traffic generator 108.

도 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 tenant 102 separates and manages resources for each user, extracts resources required for test execution, and transmits an infrastructure configuration command for test execution to the infrastructure code tool 104 (step 202). .

상기한 명령을 수신한 인프라 코드 도구(104)는 가상 인프라 관리자(Virtual Infrastructure Manager, 116)에게 테스트에 필요한 쿠버네티스 클러스터를 설치하도록 하고(단계 204), 가상 인프라 관리자(116)가 가상 네트워크 기능(VNF), 트래픽 생성기(108) 및 모니터 에이전트(112)와의 통신을 통해 생성된 리소스를 테넌트(102)로 전송한다(단계 206). Upon receiving the above command, the infrastructure code tool 104 instructs the Virtual Infrastructure Manager 116 to install the Kubernetes cluster required for the test (step 204), and the virtual infrastructure manager 116 configures the virtual network function (VNF), the traffic generator 108, and the resource created through communication with the monitor agent 112 are transmitted to the tenant 102 (step 206).

또한, 테넌트(102)는 테스트 실행에 필요한 테스트 설명을 테스트 관리자(106)에게 전송한다(단계 208). In addition, the tenant 102 transmits a test description necessary for test execution to the test manager 106 (step 208).

테스트 관리자(106)는 테스트 설명과 테스크 스크립트 기능을 매핑하고, 테스트 대상 시스템이 성공적으로 배포될 때까지 대기한다(단계 210). The test manager 106 maps test descriptions and task script functions and waits until the system under test has been successfully deployed (step 210).

테스트 기능이 내장된 테스트 관리자(106)는 테스트 설명의 메타데이터를 매개변수로 사용하여 테스트 스크립트를 생성한다. The test manager 106 with built-in test functionality creates a test script using the metadata of the test description as a parameter.

도 3을 참조하면, 테스트 관리자(106)는 테스트 케이스(프로파일)를 모니터 관리자(110)에게 통지하고(단계 300), 그런 다음 테스트 스크립트가 테스트 대상 시스템에서 실행된다(단계 302). Referring to FIG. 3 , the test manager 106 notifies the monitor manager 110 of the test case (profile) (step 300), and then the test script is executed in the system under test (step 302).

트래픽 생성기(108)는 테스크 스크립트에 따라 트래픽을 생성하고 테스트 대상 시스템으로 전달한다(단계 304).The traffic generator 108 generates traffic according to the task script and delivers it to the system under test (step 304).

발생된 트래픽들은 해당 VNF에 입력되고, 모니터 에이전트(112)는 테스트 대상 시스템에 입력되는 트래픽에 따른 네트워크 서비스 패키지를 포착하고 네트워크 서비스 패키지에 필요한 정보를 수집한다(단계 306). The generated traffic is input to the corresponding VNF, and the monitor agent 112 captures a network service package according to traffic input to the system under test and collects necessary information for the network service package (step 306).

도 1에 도시된 바와 같이, 모니터 에이전트(112)는 개별 가상 네트워크 기능에 대응된다. As shown in FIG. 1, the monitor agent 112 corresponds to an individual virtual network function.

모니터 에이전트(112)는 수집된 테스트 보고서 로그를 모니터 관리자(110)에게 전송한다(단계 308). The monitor agent 112 transmits the collected test report logs to the monitor manager 110 (step 308).

모든 테스트가 종료되면 모니터 관리자(110)는 최종 테스트 결과를 테넌트(102)에게 보고한다(단계310). When all tests are completed, the monitor manager 110 reports the final test results to the tenant 102 (step 310).

테넌트(102)는 최종 테스트 결과를 사용자에게 출력하며(단계 312), 이후 테스트에 사용된 모든 네트워크 및 리소스들을 소멸(deploy)시킨다(단계 314). The tenant 102 outputs the final test result to the user (step 312), and then deploys all networks and resources used in the test (step 314).

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.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)

복수의 가상 네트워크 기능(VNF)을 포함하는 테스트 대상 시스템의 테스트 실행에 필요한 리소스를 추출하고, 테스트 실행을 위한 인프라 구성 명령어를 생성하는 테넌트(Tenant);
상기 테넌트로부터 상기 인프라 구성 명령어를 수신하여 가상 인프라 관리자(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.
제1항에 있어서,
상기 테넌트는 복수의 사용자가 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.
제2항에 있어서,
상기 리소스는 상기 복수의 사용자 각각에 대해 개별적으로 할당되는 자동화된 테스트 장치.
According to claim 2,
The automated test device wherein the resource is allocated individually for each of the plurality of users.
제1항에 있어서,
상기 테넌트, 인프라 코드 도구, 테스트 관리자, 트래픽 생성기, 모니터 에이전트 및 모니터 관리자는 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.
제1항에 있어서,
상기 네트워크 서비스 패키지는 가상 네트워크 기능이 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.
제1항에 있어서,
상기 테스트 관리자는 상기 모니터 관리자로 테스트 프로파일을 통지하는 자동화된 테스트 장치.
According to claim 1,
The test manager notifies the test profile to the monitor manager.
제1항에 있어서,
상기 테넌트는 상기 최종 테스트 결과를 사용자에게 출력하며, 테스트에 사용된 모든 네트워크 및 리소스들을 소멸(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.
제1항에 있어서,
상기 모니터 에이전트는 사이드카 컨테이너로서 상기 가상 네트워크 기능에 통합되는 자동화된 테스트 장치.
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.
제9항에 따른 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a program for performing the method according to claim 9.
KR1020210139883A 2021-10-20 2021-10-20 Automated test method and apparatus for container-based network service KR20230056167A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102262395B1 (en) 2019-10-10 2021-06-08 숭실대학교산학협력단 Test apparatus to test interoperability of nfv system

Patent Citations (1)

* Cited by examiner, † Cited by third party
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