WO2022239954A1 - Method and system for managing and operating containers in multi-node environment - Google Patents

Method and system for managing and operating containers in multi-node environment Download PDF

Info

Publication number
WO2022239954A1
WO2022239954A1 PCT/KR2022/003966 KR2022003966W WO2022239954A1 WO 2022239954 A1 WO2022239954 A1 WO 2022239954A1 KR 2022003966 W KR2022003966 W KR 2022003966W WO 2022239954 A1 WO2022239954 A1 WO 2022239954A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
server device
predetermined
agent
tcp
Prior art date
Application number
PCT/KR2022/003966
Other languages
French (fr)
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 (주)모니터랩
Publication of WO2022239954A1 publication Critical patent/WO2022239954A1/en

Links

Images

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • 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

Definitions

  • the present invention relates to a container management operating method and system in a multi-node environment.
  • Containers have many advantages such as scalability and efficiency, but there are limitations in container management. As the kernel is not operated much like a virtual machine, the number of containers that can operate on a node is allocated at most 5 or at least 1 per core. For example, 30 to 60 or more containers are operated based on 24-core server equipment. To access these containers, Port NAT must be set on each node for each container. However, since it is practically difficult to perform Port NAT on all containers, containers are usually accessed by connecting to the host node where the container is running.
  • FIG. 1 is a diagram illustrating an environment in which a plurality of containers are executed in a single node
  • FIG. 2 is a diagram illustrating an environment in which a plurality of containers are executed in a plurality of nodes.
  • the technical problem to be solved by the present invention is a multi-modal container operation and management function that can provide more efficient container operation and management by providing a function to grasp the current status of containers operated in various nodes through TCP tunneling and to directly access a desired container. It is to provide a method and system for efficient container management operation in a node environment.
  • a container management operating system in a multi-node environment is an agent installed on each of a plurality of host nodes, wherein one or more containers are executed on the plurality of host nodes; and a server device receiving container information collected by an agent installed in each of the plurality of host nodes, wherein the agent executes in the host node, performs a TCP connection to the server device, creates a TCP tunnel, and terminates the connection. It is maintained until the point in time, container runtime interface (CRI) information provided in advance is used to collect container information through the application programming interface (API) of the corresponding CRI, and is transmitted through a TCP tunnel created between the server device and the server device.
  • CRM container runtime interface
  • the server device may transmit a remote access packet through a TCP tunnel connected to a host node where the predetermined container is located.
  • the agent When receiving a remote access packet from the server device, the agent performs a reverse TCP session connection with the server device, connects a TCP tunnel between the predetermined container, and then connects the user terminal and the predetermined container. of remote access can be performed.
  • the server device may transmit an image pulling request packet through a TCP tunnel connected to the predetermined host node.
  • the agent may perform image pulling from an image hub to the predetermined host node.
  • the server device may transmit the image update request through a TCP tunnel connected to a host node where the predetermined container is located.
  • the agent may perform an image update on the predetermined container and deliver an image update result to the server device.
  • the server device may transmit the container state information check request through a TCP tunnel connected to a host node where the predetermined container is located.
  • the agent When the agent receives a container state information check request from the server device, it performs a reverse TCP session connection with the server device, connects a TCP tunnel between the predetermined containers, and checks the state information of the predetermined container. It can be transmitted to the server device.
  • a container management and operation method in a multi-node environment includes installing an agent on a host node, wherein one or more containers are executed on the host node; After the agent is executed in the host node, performing a TCP connection to the server device and creating a TCP tunnel, wherein the TCP tunnel is maintained until the TCT connection between the server device and the agent is terminated; collecting, by the agent, container information through an application programming interface (API) of the corresponding CRI using CRI (Container Runtime Interface) information provided in advance; and transmitting, by the agent, the collected container information through a TCP tunnel created between the server device and the server device.
  • API application programming interface
  • the present invention it is possible to effectively provide functions such as access to containers, file transmission, and command delivery in an environment where a large number of nodes and containers are operated.
  • functions such as access to containers, file transmission, and command delivery
  • a container system that performs more complex services than simple web services can be configured through the remote command execution function.
  • FIG. 1 is a diagram illustrating an environment in which a plurality of containers are executed in a single node in the related art.
  • FIG. 2 is a diagram illustrating an environment in which a plurality of containers are executed in a plurality of nodes in the related art.
  • FIG. 3 is a block diagram of a container management operating system in a multi-node environment according to an embodiment of the present invention.
  • FIG. 4 is a diagram provided to explain an example in which an agent installed in a host node collects and delivers container status information to a server device according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an example in which packet exchange is performed between a server device and an agent according to the present invention.
  • FIG. 6 is a flowchart illustrating a method of performing container remote access according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of performing container image update according to an embodiment of the present invention.
  • FIG. 8 is a flowchart for explaining a method of checking container state information according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method of performing container image pulling according to an embodiment of the present invention.
  • FIG. 3 is a configuration diagram of a container management operating system in a multi-node environment according to an embodiment of the present invention
  • FIG. 4 is an agent installed on a host node according to an embodiment of the present invention collects container status information in a server device It is a diagram provided to explain an example of transfer
  • FIG. 5 is a diagram showing an example of packet exchange between a server device and an agent according to the present invention.
  • the system according to the present invention may include a server device 100 and a plurality of agents 200 .
  • the plurality of agents 200 may be installed and executed in each of the plurality of host nodes 300 .
  • the plurality of host nodes 300 may have one or more containers 310 installed and executed.
  • three host nodes 300 (for example, host node A, host node B, and host node C) are exemplified for convenience of explanation, and the agents 200 are installed and executed on each corresponding host node 300 one by one. shown to be.
  • the number of host nodes connected to the server device 100 and the number of agents installed in the host node may vary. For example, multiple containers providing the same service may be installed and executed on one host node, or may be distributed and executed on two or more host nodes.
  • the server device 100 may receive container information collected by the agents 200 respectively installed on the plurality of host nodes 300 .
  • the server device 100 may establish a connection with the agent 200 through an Any Open service port (eg, 80 or 443 of the web server).
  • Agent 200 may be installed as a single module within host node 300 . After the agent 200 runs on the host node 300, as illustrated in FIG. 5, it performs a TCP connection to the server device 100 and creates a TCP tunnel after 3-Way-Handshake (authentication process) including) can be maintained until the point of termination of the connection. Meanwhile, TCP tunneling can be performed after being confirmed as a normal node through a health check session before creating a TCP tunnel.
  • 3-Way-Handshake authentication process
  • the server device 100 receives a TCP connection request from the agent 200 and determines whether or not there is access qualification through an authentication process, it is more secure in terms of security than Port NAT (Network Address Translation) of the host node.
  • Port NAT Network Address Translation
  • FIG. 4 one host node 300 is shown for convenience of description, and the Host OS 320, Linux Containers 330, and CRI (Container Runtime Interface) 340, which are omitted in FIG. 3, are shown together. did
  • the Host OS 320 is an OS (operating system) originally installed in the host node 300 and may be a LINUX OS.
  • the Linux container 330 performs a function of building an independent Linux system environment for each process by isolating processes operating in a single Linux system.
  • the CRI 340 is an interface that calls and uses a container runtime (eg, Docker or Podman, etc.) that performs container image management, container command execution and container control, and container monitoring.
  • a container runtime eg, Docker or Podman, etc.
  • the agent 200 When the agent 200 is executed on the host node 300, it receives CRI information used in the corresponding host node from the user, and collects and monitors container information through the API (Application Programming Interface) of the corresponding CRI 340. can Also, the agent 200 may transmit the collected information through a TCP tunnel created between the server device 100 and the server device 100 .
  • API Application Programming Interface
  • the agent can receive CRI information provided from the user (information on what type of CRI is (Docker, Podman, etc.) through a config file, etc., and manages containers by calling APIs appropriate to the CRI can do.
  • CRI information may include information about CRI type, CRI version, API type, API path, maximum number of sessions to be linked with CRI, CRI session timeout, and the like.
  • API_TYPE "unix_sock”, // api type(rest, sock)
  • API_PATH "/var/run/docker.sock”, // api path (uri for rest)
  • the server device 100 may provide container status to the user terminal 10 based on the container information collected through the plurality of agents 200 to be output.
  • the user terminal 10 may request access by selecting a desired container through the user interface 110 provided by the server device 100 .
  • the server device 100 may provide a user interface 110 through which a user may select a container and select an action to be performed with respect to the container.
  • FIG. 6 is a flowchart illustrating a method of performing container remote access according to an embodiment of the present invention.
  • the server device 100 when the server device 100 receives a remote access request for a specific container from the user terminal 10 through the user interface 110, the server device 100 remotely accesses the container through a TCP tunnel connected to the host node where the container is located.
  • the packet may be transmitted to the agent 200 (SSH, TELNET, etc.) (S610).
  • the remote access packet transmitted in step S610 shows an example in which the container ID (cid) is "303b8f4d34" and the action includes 'ssh remote access'.
  • the agent 200 When the agent 200 receives a remote access packet from the server device 100, it searches for a container corresponding to the container ID included in the remote access packet (S620), and connects with the server device 100 through a reverse TCP session. can be performed (S630).
  • the agent 200 receives an SSH connection request from the server device 100 through the connected TCP session in step S630 (S640), connects to the destination container "303b8f4d34" included in the remote access packet through the standard input/output bind function, or , TCP tunneling can be performed (S650).
  • the agent 200 may perform remote access between the user terminal 10 and the container.
  • SSH packets may be transmitted and received with the user terminal 10 (S660), and SHELL commands may be executed in the container by parsing the SSH packets (S670).
  • remote access can basically support SSH, TELNET, and FTP, and additional expansion is possible.
  • FIG. 7 is a flowchart illustrating a method of performing container image update according to an embodiment of the present invention.
  • the server device 100 when the server device 100 receives a container image update request for a specific container from the user terminal 10 through the user interface 110, the server device 100 transmits the image through a TCP tunnel connected to the host node where the container is located.
  • An update request packet may be transmitted to the agent 200 (S710).
  • the image update request packet transmitted in step S710 information in which the action type (action) is image update (image_update), the applied image name (image_name) is "new_image", and the target container ID (cid) is "303b8f4d34" is included. example including.
  • the agent 200 checks the corresponding container image information (S720), performs an image update on the corresponding container "303b8f4d34" through the image change API (S730), and delivers an image update completion message to the server device 100. It can (S740).
  • FIG. 8 is a flowchart for explaining a method of checking container state information according to an embodiment of the present invention.
  • the server device 100 when the server device 100 receives a status information check request for a specific container from the user terminal 10 through the user interface 110, the server device 100 transmits the container through a TCP tunnel connected to the host node where the container is located.
  • a status information check request packet may be transmitted to the agent 200 (S810).
  • the packet transmitted in step S810 shows an example in which the action is 'top' and the container ID (cid) to be checked is "303b8f4d34".
  • the agent 200 When the agent 200 receives a container state information check request packet from the server device 100, it searches for a container corresponding to the container ID included in the packet (S820), and reverse TCP with the server device 100. Session connection may be performed (S830).
  • the agent 200 may connect to the container "303b8f4d34" through the standard input/output bind function or perform TCP tunneling (S840).
  • the agent 200 may check the CPU, memory, and disk I/O information of the corresponding container (S850) and transmit the information to the server device 100 (S860).
  • FIG. 9 is a flowchart illustrating a method of performing container image pulling according to an embodiment of the present invention.
  • the server device 100 when the server device 100 receives an image pulling request for a specific host node from the user terminal 10 through the user interface 110, the server device 100 receives an image pulling request packet through a TCP tunnel connected to the corresponding host node. may be transmitted to the agent 200 (S910).
  • the image pulling request packet transmitted in step S910 shows an example in which the action type (action) is image pulling (image_pull) and the pulling image name (image_name) includes information corresponding to “new_image”.
  • the agent 200 checks the local image information on the corresponding host node (S920), and then pulls the image corresponding to "new_image" from the image hub to the corresponding host node (S930). Image pulling progress information may be transmitted to the server device 100 (S940). When image pulling is completed, the agent 200 may transmit an image pulling completion message to the server device 100 (S950).
  • the image hub may be an image repository in which various container images are registered and stored as an external device different from the host node, such as Docker Hub (https://hub.docker.com/).
  • the embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components.
  • the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions.
  • a processing device may run an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • OS operating system
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include.
  • a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
  • Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device.
  • Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed on networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a method and system for managing and operating containers in a multi-node environment, the system according to the present invention comprising: agents respectively installed in a plurality of host nodes, wherein the plurality of host nodes execute one or more containers; and a server device that receives container information collected by the agents respectively installed in the plurality of host nodes. After being executed in the host nodes, the agents perform a TCP connection to the server device, generate a TCP tunnel and maintain the TCP tunnel until the connection ends, use pre-provided container runtime interface (CRI) information to collect the container information through an application programming interface (API) of the corresponding CRI, and transmit the collected container information through the TCP tunnel generated between the agent and the server device.

Description

멀티 노드 환경에서 컨테이너 관리 운영 방법과 시스템Container management operation method and system in multi-node environment
본 발명은 멀티 노드 환경에서 컨테이너 관리 운영 방법과 시스템에 관한 것이다.The present invention relates to a container management operating method and system in a multi-node environment.
IT에서 클라우드는 이제 선택이 아닌 필수적인 요소로 자리잡았다. 기존 레거시 환경의 컴퓨팅 자원 및 물리적인 비효율성으로 인해 많은 기업들이 클라우드 인프라를 도입하고 있다. 특히, 가상머신에 비해 보다 효율적으로 자원을 활용할 수 있는 컨테이너 시스템이 각광받고 있다. 초기에는 단일 노드(물리적 장비)에서 독립적으로 실행되던 컨테이너가 근래에는 여러 노드를 논리적으로 클러스터링 하여 컨테이너를 실행하고 관리하게 되었다. 이러한 멀티 노드 환경에서 컨테이너 및 클러스터 관리 기술은 기업의 중요한 핵심 기술로 평가된다. 다양한 CRI(Container Runtime Interface)들은 다중 노드 관리를 위해 각 노드들을 네트워크를 통해 연결하고 서로의 상태를 확인, 유기적으로 자원을 할당하며 무한하게 확장해 나간다.In IT, the cloud has now become an essential element rather than an option. Due to the computing resources and physical inefficiency of the existing legacy environment, many companies are introducing cloud infrastructure. In particular, container systems that can utilize resources more efficiently than virtual machines are in the limelight. In the early days, containers that ran independently on a single node (physical device) have recently run and managed containers by logically clustering multiple nodes. In this multi-node environment, container and cluster management technology is evaluated as an important core technology for companies. Various CRIs (Container Runtime Interfaces) connect each node through a network for multi-node management, check each other's status, allocate resources organically, and expand infinitely.
확장성, 효율성 등 장점이 많은 컨테이너지만 컨테이너의 관리 등의 한계가 존재한다. 가상머신처럼 커널을 별로도 운영하지 않는 만큼 노드 위에서 동작할 수 있는 컨테이너의 수는 코어당 많게는 5개 이상, 적게는 1개 정도로 할당한다. 예를 들어, 24core 급 서버 장비 기준으로 30~60개 이상의 컨테이너가 운영되는데 이러한 컨테이너에 접속하기 위해서는 각 노드 별로 컨테이너에 Port NAT를 설정해야 한다. 하지만 많은 수의 컨테이너에 모두 Port NAT를 진행하는 것은 현실적으로 어렵기 때문에 보통은 컨테이너가 실행되고 있는 호스트 노드에 접속하여 컨테이너로 접속한다.Containers have many advantages such as scalability and efficiency, but there are limitations in container management. As the kernel is not operated much like a virtual machine, the number of containers that can operate on a node is allocated at most 5 or at least 1 per core. For example, 30 to 60 or more containers are operated based on 24-core server equipment. To access these containers, Port NAT must be set on each node for each container. However, since it is practically difficult to perform Port NAT on all containers, containers are usually accessed by connecting to the host node where the container is running.
도 1은 종래 복수의 컨테이너가 단일 노드에서 실행되는 환경을 예시한 도면이고, 도 2는 종래 복수의 컨테이너가 복수 노드에서 실행되는 환경을 예시한 도면이다.FIG. 1 is a diagram illustrating an environment in which a plurality of containers are executed in a single node, and FIG. 2 is a diagram illustrating an environment in which a plurality of containers are executed in a plurality of nodes.
도 1에 예시한 것과 같은 환경처럼, 단일 장비의 경우는 2-Tier 접근이 가능하겠지만 클러스터링 혹은 관리하는 노드의 수가 늘어날수록 복잡해진다. 보통 도 2에 예시한 것과 같은 컨테이너 클러스터링 상태에서 1개의 컨테이너(서비스는 1개 이상의 컨테이너로 구성됨)는 2개 혹은 그 이상의 노드에 분산되어 실행되는데 이럴 경우 특정 서비스를 제공하는 컨테이너 접속 관리는 더욱 어렵게 된다.As in the environment illustrated in FIG. 1, in the case of a single device, 2-tier access is possible, but as the number of clustering or managing nodes increases, it becomes more complicated. Usually, in the container clustering state as illustrated in FIG. 2, one container (a service is composed of one or more containers) is distributed and executed on two or more nodes. In this case, it is more difficult to manage container access that provides a specific service. do.
이러한 불편함을 개선하기 위해 다양한 관리 툴이 존재하나 보통 CRI에 종속되어 실행되고 이 또한 Port NAT 등의 주소 변환 없이는 적용이 불가능하다.Various management tools exist to improve this inconvenience, but they are usually executed depending on CRI, and this is also impossible to apply without address translation such as Port NAT.
따라서 본 발명이 해결하고자 하는 기술적 과제는 TCP 터널링을 통한 다양한 노드에 운영되고 있는 컨테이너의 현황을 파악하고 원하는 컨테이너에 바로 접속할 수 있는 기능을 제공함으로써 보다 효율적인 컨테이너 운영, 관리 기능을 제공할 수 있는 멀티 노드 환경에서 효율적 컨테이너 관리 운영을 위한 방법 및 시스템을 제공하는 것이다.Therefore, the technical problem to be solved by the present invention is a multi-modal container operation and management function that can provide more efficient container operation and management by providing a function to grasp the current status of containers operated in various nodes through TCP tunneling and to directly access a desired container. It is to provide a method and system for efficient container management operation in a node environment.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 멀티 노드 환경에서 컨테이너 관리 운영 시스템은, 복수의 호스트 노드에 각각 설치되는 에이전트 - 상기 복수의 호스트 노드는 하나 이상의 컨테이너가 실행됨 - ; 및 상기 복수의 호스트 노드에 각각 설치된 에이전트에 의해 수집되는 컨테이너 정보를 전송받는 서버 장치를 포함하고, 상기 에이전트는 상기 호스트 노드에서 실행 후 상기 서버 장치로 TCP 연결을 수행하고 TCP 터널을 생성하여 연결 종료 시점까지 유지하며, 미리 제공된 CRI(Container Runtime Interface) 정보를 이용하여 해당 CRI의 API(Application Programming Interface)를 통해 컨테이너 정보를 수집하여, 상기 서버 장치와 사이에 생성된 TCP 터널을 통해 전송한다.A container management operating system in a multi-node environment according to the present invention to solve the above technical problem is an agent installed on each of a plurality of host nodes, wherein one or more containers are executed on the plurality of host nodes; and a server device receiving container information collected by an agent installed in each of the plurality of host nodes, wherein the agent executes in the host node, performs a TCP connection to the server device, creates a TCP tunnel, and terminates the connection. It is maintained until the point in time, container runtime interface (CRI) information provided in advance is used to collect container information through the application programming interface (API) of the corresponding CRI, and is transmitted through a TCP tunnel created between the server device and the server device.
상기 서버 장치는, 사용자 단말로부터 미리 정해진 컨테이너에 대한 원격 접속 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 원격 접속 패킷을 전송할 수 있다.When receiving a request for remote access to a predetermined container from a user terminal, the server device may transmit a remote access packet through a TCP tunnel connected to a host node where the predetermined container is located.
상기 에이전트는, 상기 서버 장치로부터 원격 접속 패킷을 수신하면, 상기 서버 장치와 리버스(reverse) TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 사용자 단말과 상기 미리 정해진 컨테이너 사이의 원격 접속을 수행할 수 있다.When receiving a remote access packet from the server device, the agent performs a reverse TCP session connection with the server device, connects a TCP tunnel between the predetermined container, and then connects the user terminal and the predetermined container. of remote access can be performed.
상기 서버 장치는, 사용자 단말로부터 미리 정해진 호스트 노드에 대한 이미지 풀링(image pulling) 요청을 수신하면, 상기 미리 정해진 호스트 노드와 연결된 TCP 터널을 통해 이미지 풀링 요청 패킷을 전송할 수 있다.When receiving an image pulling request for a predetermined host node from a user terminal, the server device may transmit an image pulling request packet through a TCP tunnel connected to the predetermined host node.
상기 에이전트는, 상기 서버 장치로부터 이미지 풀링 요청 패킷을 받으면, 이미지 허브로부터 상기 미리 정해진 호스트 노드로 이미지 풀링을 수행할 수 있다.When receiving an image pulling request packet from the server device, the agent may perform image pulling from an image hub to the predetermined host node.
상기 서버 장치는, 사용자 단말로부터 미리 정해진 컨테이너에 대한 이미지 업데이트(image update) 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 이미지 업데이트 요청을 전송할 수 있다.When receiving an image update request for a predetermined container from a user terminal, the server device may transmit the image update request through a TCP tunnel connected to a host node where the predetermined container is located.
상기 에이전트는, 상기 서버 장치로부터 이미지 업데이트 요청을 받으면, 상기 미리 정해진 컨테이너에 대한 이미지 업데이트를 수행하고 상기 서버 장치로 이미지 업데이트 결과를 전달할 수 있다.Upon receiving an image update request from the server device, the agent may perform an image update on the predetermined container and deliver an image update result to the server device.
상기 서버 장치는, 사용자 단말로부터 미리 정해진 컨테이너에 대한 컨테이너 상태 정보 확인 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 컨테이너 상태 정보 확인 요청을 전송할 수 있다.When receiving a container state information check request for a predetermined container from a user terminal, the server device may transmit the container state information check request through a TCP tunnel connected to a host node where the predetermined container is located.
상기 에이전트는, 상기 서버 장치로부터 컨테이너 상태 정보 확인 요청을 수신하면, 상기 서버 장치와 리버스 TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 미리 정해진 컨테이너의 상태 정보를 확인하여 상기 서버 장치로 전달할 수 있다.When the agent receives a container state information check request from the server device, it performs a reverse TCP session connection with the server device, connects a TCP tunnel between the predetermined containers, and checks the state information of the predetermined container. It can be transmitted to the server device.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 멀티 노드 환경에서 컨테이너 관리 운영 방법은, 호스트 노드에 에이전트를 설치하는 단계 - 상기 호스트 노드는 하나 이상의 컨테이너가 실행됨 - ; 상기 에이전트는 상기 호스트 노드에서 실행 후 상기 서버 장치로 TCP 연결을 수행하고 TCP 터널을 생성하는 단계 - 상기 TCP 터널은 상기 서버 장치와 상기 에이전트의 TCT 연결 종료 시점까지 유지됨 - ; 상기 에이전트는 미리 제공된 CRI(Container Runtime Interface) 정보를 이용하여 해당 CRI의 API(Application Programming Interface)를 통해 컨테이너 정보를 수집하는 단계; 및 상기 에이전트는 상기 서버 장치와 사이에 생성된 TCP 터널을 통해 상기 수집된 컨테이너 정보를 전송하는 단계;를 포함한다.A container management and operation method in a multi-node environment according to the present invention to solve the above technical problem includes installing an agent on a host node, wherein one or more containers are executed on the host node; After the agent is executed in the host node, performing a TCP connection to the server device and creating a TCP tunnel, wherein the TCP tunnel is maintained until the TCT connection between the server device and the agent is terminated; collecting, by the agent, container information through an application programming interface (API) of the corresponding CRI using CRI (Container Runtime Interface) information provided in advance; and transmitting, by the agent, the collected container information through a TCP tunnel created between the server device and the server device.
본 발명에 의하면 대량의 노드와 컨테이너를 운영하는 환경에서 효과적으로 컨테이너에 접속, 파일전송, 명령 전달 등의 기능을 제공할 수 있다. 또한 헬스체크 모듈을 통한 컨테이너의 상태 확인 및 서비스 가용성을 유지할 수 있고 실시간으로 장애 현황 등을 파악할 수 있다. 또한 단순 웹 서비스 등이 아닌 보다 복잡한 서비스를 수행하는 컨테이너 시스템을 원격 명령 수행 기능을 통해 구성할 수 있다.According to the present invention, it is possible to effectively provide functions such as access to containers, file transmission, and command delivery in an environment where a large number of nodes and containers are operated. In addition, it is possible to check the status of containers and maintain service availability through the health check module, and to check the current status of failures in real time. In addition, a container system that performs more complex services than simple web services can be configured through the remote command execution function.
도 1은 종래 복수의 컨테이너가 단일 노드에서 실행되는 환경을 예시한 도면이다.1 is a diagram illustrating an environment in which a plurality of containers are executed in a single node in the related art.
도 2는 종래 복수의 컨테이너가 복수 노드에서 실행되는 환경을 예시한 도면이다.2 is a diagram illustrating an environment in which a plurality of containers are executed in a plurality of nodes in the related art.
도 3은 본 발명의 일 실시예에 따른 멀티 노드 환경에서 컨테이너 관리 운영 시스템의 구성도이다3 is a block diagram of a container management operating system in a multi-node environment according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 호스트 노드에 설치된 에이전트가 서버 장치에 컨테이너 현황 정보를 수집하여 전달하는 예를 설명하기 위해 제공되는 도면이다.4 is a diagram provided to explain an example in which an agent installed in a host node collects and delivers container status information to a server device according to an embodiment of the present invention.
도 5는 본 발명에 따른 서버 장치와 에이전트 간의 패킷 교환이 이루어지는 예를 나타낸 도면이다.5 is a diagram illustrating an example in which packet exchange is performed between a server device and an agent according to the present invention.
도 6은 본 발명의 일 실시예에 따른 컨테이너 원격 접속을 수행하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of performing container remote access according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 컨테이너 이미지 업데이트를 수행하는 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of performing container image update according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 컨테이너 상태 정보 확인을 수행하는 방법을 설명하기 위한 흐름도이다.8 is a flowchart for explaining a method of checking container state information according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 컨테이너 이미지 풀링을 수행하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a method of performing container image pulling according to an embodiment of the present invention.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Then, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention.
도 3은 본 발명의 일 실시예에 따른 멀티 노드 환경에서 컨테이너 관리 운영 시스템의 구성도이고, 도 4는 본 발명의 일 실시예에 따른 호스트 노드에 설치된 에이전트가 서버 장치에 컨테이너 현황 정보를 수집하여 전달하는 예를 설명하기 위해 제공되는 도면이며, 도 5는 본 발명에 따른 서버 장치와 에이전트 간의 패킷 교환이 이루어지는 예를 나타낸 도면이다.3 is a configuration diagram of a container management operating system in a multi-node environment according to an embodiment of the present invention, and FIG. 4 is an agent installed on a host node according to an embodiment of the present invention collects container status information in a server device It is a diagram provided to explain an example of transfer, and FIG. 5 is a diagram showing an example of packet exchange between a server device and an agent according to the present invention.
도 3 내지 도 5를 참고하면, 본 발명에 따른 시스템은 서버 장치(100)와 복수의 에이전트(200)를 포함할 수 있다.Referring to FIGS. 3 to 5 , the system according to the present invention may include a server device 100 and a plurality of agents 200 .
복수의 에이전트(200)는 복수의 호스트 노드(300)에 각각 설치되어 실행될 수 있다.The plurality of agents 200 may be installed and executed in each of the plurality of host nodes 300 .
복수의 호스트 노드(300)는 하나 이상의 컨테이너(310)가 설치되어 실행될 수 있다.The plurality of host nodes 300 may have one or more containers 310 installed and executed.
도 3에서는 설명의 편의 상 3개의 호스트 노드(300)(예컨대 A 호스트 노드, B 호스트 노드, C 호스트 노드)를 예시하였으며, 에이전트(200)는 각각 대응하는 호스트 노드(300)에 하나씩 설치되어 실행되는 것으로 도시하였다. 실시예에 따라 서버 장치(100)에 연결되는 호스트 노드의 개수와 호스트 노드에 설치되는 에이전트의 개수는 달라질 수 있다. 가령 동일한 서비스를 제공하는 컨테이너가 1개의 호스트 노드에 다수 설치되어 실행될 수도 있으며, 또는 2개 이상의 호스트 노드에 분산되어 실행될 수도 있다.In FIG. 3, three host nodes 300 (for example, host node A, host node B, and host node C) are exemplified for convenience of explanation, and the agents 200 are installed and executed on each corresponding host node 300 one by one. shown to be. Depending on embodiments, the number of host nodes connected to the server device 100 and the number of agents installed in the host node may vary. For example, multiple containers providing the same service may be installed and executed on one host node, or may be distributed and executed on two or more host nodes.
서버 장치(100)는 복수의 호스트 노드(300)에 각각 설치된 에이전트(200)에 의해 수집되는 컨테이너 정보를 전송받을 수 있다. 서버 장치(100)는 모두 오픈된(Any Open)(예컨대 웹 서버의 80, 443과 같은) 서비스 포트를 통해 에이전트(200)와 연결을 수립할 수 있다.The server device 100 may receive container information collected by the agents 200 respectively installed on the plurality of host nodes 300 . The server device 100 may establish a connection with the agent 200 through an Any Open service port (eg, 80 or 443 of the web server).
에이전트(200)는 호스트 노드(300) 내에 단일 모듈로 설치될 수 있다. 에이전트(200)는 호스트 노드(300)에서 실행 후, 도 5에 예시한 것과 같이 서버 장치(100)로 TCP 연결을 수행하고 3-Way-Handshake 이후 TCP 터널(tunnel)을 생성하여(인증 과정을 포함함) 연결 종료 시점까지 유지할 수 있다. 한편 TCP 터널을 생성 전에 헬스 체크 세션(Health Check Session)를 통해 정상 노드로 확인이 된 후 TCP 터널링을 진행할 수 있다. Agent 200 may be installed as a single module within host node 300 . After the agent 200 runs on the host node 300, as illustrated in FIG. 5, it performs a TCP connection to the server device 100 and creates a TCP tunnel after 3-Way-Handshake (authentication process) including) can be maintained until the point of termination of the connection. Meanwhile, TCP tunneling can be performed after being confirmed as a normal node through a health check session before creating a TCP tunnel.
서버 장치(100)는 에이전트(200)로부터 TCP 연결 요청을 받고 인증 과정을 통해 접속 자격이 있는지 판단을 수행하기 때문에, 호스트 노드의 Port NAT(Natwork Address Trenslation)보다 보안적인 측면에서 보다 안전하다.Since the server device 100 receives a TCP connection request from the agent 200 and determines whether or not there is access qualification through an authentication process, it is more secure in terms of security than Port NAT (Network Address Translation) of the host node.
도 4에서는 설명의 편의상 하나의 호스트 노드(300)를 도시하였으며, 도 3에서 생략한 Host OS(320), 리눅스 컨테이너(LinuX Containers)(330) 및 CRI(Container Runtime Interface)(340)를 함께 표시하였다.In FIG. 4, one host node 300 is shown for convenience of description, and the Host OS 320, Linux Containers 330, and CRI (Container Runtime Interface) 340, which are omitted in FIG. 3, are shown together. did
Host OS(320)는 호스트 노드(300)에 본래 설치되는 OS(operating system)로서 LINUX OS일 수 있다. 리눅스 컨테이너(330)는 단일 리눅스 시스템에 동작하고 있는 프로세스를 격리시켜 각 프로세스마다 독자적인 리눅스 시스템 환경을 구축하는 기능을 수행한다.The Host OS 320 is an OS (operating system) originally installed in the host node 300 and may be a LINUX OS. The Linux container 330 performs a function of building an independent Linux system environment for each process by isolating processes operating in a single Linux system.
CRI(340)는 컨테이너 이미지 관리, 컨테이너 명령 실행 및 컨테이너 제어, 컨테이너 모니터링 등을 수행하는 컨테이너 런타임(예컨대 Docker 또는 Podman 등)을 호출하여 사용할 수 있도록 지원하는 인터페이스다.The CRI 340 is an interface that calls and uses a container runtime (eg, Docker or Podman, etc.) that performs container image management, container command execution and container control, and container monitoring.
에이전트(200)는 호스트 노드(300)에서 실행되는 시점에 사용자로부터 해당 호스트 노드에서 사용되는 CRI 정보를 전달받고, 해당 CRI(340)의 API(Application Programming Interface)를 통해 컨테이너 정보를 수집하고 모니터링할 수 있다. 그리고 에이전트(200)는 서버 장치(100)와 사이에 생성된 TCP 터널을 통해 수집된 정보를 전송할 수 있다.When the agent 200 is executed on the host node 300, it receives CRI information used in the corresponding host node from the user, and collects and monitors container information through the API (Application Programming Interface) of the corresponding CRI 340. can Also, the agent 200 may transmit the collected information through a TCP tunnel created between the server device 100 and the server device 100 .
CRI(Container Runtime Interface)의 종류에 따라 제공되는 API가 다르다. 에이전트는 사용자로부터 제공되는 CRI 정보(CRI가 어떤 종류인지(Docker인지, Podman인지 등등)에 대한 정보를 컨피그(Config) 파일 등을 통해 전달받을 수 있으며, 해당 CRI에 맞는 API를 호출하여 컨테이너를 관리할 수 있다.Depending on the type of CRI (Container Runtime Interface), the provided API is different. The agent can receive CRI information provided from the user (information on what type of CRI is (Docker, Podman, etc.) through a config file, etc., and manages containers by calling APIs appropriate to the CRI can do.
CRI 정보는 아래 예시한 것과 같이 CRI 종류, CRI 버전, API 타입, API 경로, CRI와 연동할 최대 세션 수, CRI 세션 타임아웃 등에 대한 정보를 포함할 수 있다.As illustrated below, CRI information may include information about CRI type, CRI version, API type, API path, maximum number of sessions to be linked with CRI, CRI session timeout, and the like.
* CRI 정보 예 ** Example of CRI information *
{{
"TYPE": "docker", // cri 종류"TYPE": "docker", // cri type
"VERSION": "1.41", // cri 버전"VERSION": "1.41", // cri version
"API_TYPE": "unix_sock",           // api type(rest, sock)"API_TYPE": "unix_sock",           // api type(rest, sock)
    "API_PATH": "/var/run/docker.sock",      // api 경로(rest의 경우 uri)"API_PATH": "/var/run/docker.sock",      // api path (uri for rest)
    "MAX_SESSION": 10,                  // CRI와 연동할 최대 세션 수"MAX_SESSION": 10,                  // Maximum number of sessions to work with CRI
    "SESSION_TIMEOUT": 600                    // CRI 세션 타임아웃"SESSION_TIMEOUT": 600                    // CRI session timeout
}}
서버 장치(100)는 복수의 에이전트(200)를 통해 수집된 컨테이너 정보를 기반으로 사용자 단말(10)에 컨테이너 현황을 제공하여 출력되게 할 수 있다.The server device 100 may provide container status to the user terminal 10 based on the container information collected through the plurality of agents 200 to be output.
사용자 단말(10)은 서버 장치(100)에서 제공하는 사용자 인터페이스(110)를 통해 원하는 컨테이너를 선택하여 접속 요청을 할 수 있다. 이를 위해 서버 장치(100)는 사용자로부터 컨테이너를 선택하여 해당 컨테이너에 대해서 수행할 액션(action)을 선택받을 수 있는 사용자 인터페이스(110)를 제공할 수 있다.The user terminal 10 may request access by selecting a desired container through the user interface 110 provided by the server device 100 . To this end, the server device 100 may provide a user interface 110 through which a user may select a container and select an action to be performed with respect to the container.
도 6은 본 발명의 일 실시예에 따른 컨테이너 원격 접속을 수행하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of performing container remote access according to an embodiment of the present invention.
도 6을 참고하면, 서버 장치(100)는 사용자 단말(10)로부터 특정 컨테이너에 대한 원격 접속 요청을 사용자 인터페이스(110)를 통해 수신하면, 해당 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 원격 접속 패킷을 에이전트(200)에 전송할 수 있다(SSH, TELNET 등)(S610). 단계(S610)에서 전송된 원격 접속 패킷은 컨테이너 아이디(cid)가 "303b8f4d34"이고, 액션(action)은 'ssh 원격접속'이 포함된 예를 나타낸 것이다.Referring to FIG. 6 , when the server device 100 receives a remote access request for a specific container from the user terminal 10 through the user interface 110, the server device 100 remotely accesses the container through a TCP tunnel connected to the host node where the container is located. The packet may be transmitted to the agent 200 (SSH, TELNET, etc.) (S610). The remote access packet transmitted in step S610 shows an example in which the container ID (cid) is "303b8f4d34" and the action includes 'ssh remote access'.
에이전트(200)는 서버 장치(100)로부터 원격 접속 패킷을 수신하면, 원격 접속 패킷에 포함된 컨테이너 아이디에 해당하는 컨테이너를 검색하고(S620), 서버 장치(100)와 리버스(reverse) TCP 세션 연결을 수행할 수 있다(S630).When the agent 200 receives a remote access packet from the server device 100, it searches for a container corresponding to the container ID included in the remote access packet (S620), and connects with the server device 100 through a reverse TCP session. can be performed (S630).
에이전트(200)는 단계(S630)에서 연결된 TCP 세션을 통해 서버 장치(100)로부터 SSH 연결을 요청받고(S640), 원격 접속 패킷에 포함된 목적지 컨테이너 "303b8f4d34"와 표준 입출력 bind 함수를 통해 연결하거나, TCP 터널링을 할 수 있다(S650).The agent 200 receives an SSH connection request from the server device 100 through the connected TCP session in step S630 (S640), connects to the destination container "303b8f4d34" included in the remote access packet through the standard input/output bind function, or , TCP tunneling can be performed (S650).
이후 에이전트(200)는 사용자 단말(10)과 컨테이너 사이에 원격 접속을 수행할 수 있다. 예컨대 사용자 단말(10)과 SSH 패킷을 송수신하고(S660), SSH 패킷을 파싱하여 컨테이너에서 SHELL 명령어들을 실행시킬 수 있다(S670). 여기서 원격 접속은 SSH, TELNET, FTP을 기본적으로 지원할 수 있으며 추가 확장이 가능하다.After that, the agent 200 may perform remote access between the user terminal 10 and the container. For example, SSH packets may be transmitted and received with the user terminal 10 (S660), and SHELL commands may be executed in the container by parsing the SSH packets (S670). Here, remote access can basically support SSH, TELNET, and FTP, and additional expansion is possible.
도 7은 본 발명의 일 실시예에 따른 컨테이너 이미지 업데이트를 수행하는 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a method of performing container image update according to an embodiment of the present invention.
도 7을 참고하면, 서버 장치(100)는 사용자 단말(10)로부터 특정 컨테이너에 대한 컨테이너 이미지 업데이트 요청을 사용자 인터페이스(110)를 통해 수신하면, 해당 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 이미지 업데이트 요청 패킷을 에이전트(200)에 전송할 수 있다(S710). 단계(S710)에서 전송된 이미지 업데이트 요청 패킷에 액션 종류(action)가 이미지 업데이트(image_update)이고, 적용 이미지명(image_name)이 "new_image"이며, 대상 컨테이너 ID(cid)가 "303b8f4d34"인 정보가 포함한 예를 나타낸 것이다.Referring to FIG. 7 , when the server device 100 receives a container image update request for a specific container from the user terminal 10 through the user interface 110, the server device 100 transmits the image through a TCP tunnel connected to the host node where the container is located. An update request packet may be transmitted to the agent 200 (S710). In the image update request packet transmitted in step S710, information in which the action type (action) is image update (image_update), the applied image name (image_name) is "new_image", and the target container ID (cid) is "303b8f4d34" is included. example including.
에이전트(200)는 해당 컨테이너 이미지 정보를 확인하고(S720), 이미지 변경 API를 통해 해당 컨테이너 "303b8f4d34"에 대한 이미지 업데이트를 수행한 후(S730), 서버 장치(100)로 이미지 업데이트 완료 메세지를 전달할 수 있다(S740).The agent 200 checks the corresponding container image information (S720), performs an image update on the corresponding container "303b8f4d34" through the image change API (S730), and delivers an image update completion message to the server device 100. It can (S740).
도 8은 본 발명의 일 실시예에 따른 컨테이너 상태 정보 확인을 수행하는 방법을 설명하기 위한 흐름도이다.8 is a flowchart for explaining a method of checking container state information according to an embodiment of the present invention.
도 8을 참고하면, 서버 장치(100)는 사용자 단말(10)로부터 특정 컨테이너에 대한 상태 정보 확인 요청을 사용자 인터페이스(110)를 통해 수신하면, 해당 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 컨테이너 상태 정보 확인 요청 패킷을 에이전트(200)에 전송할 수 있다(S810). 단계(S810)에서 전송된 패킷은 액션(action)은 'top'이고, 확인 대상 컨테이너 아이디(cid)가 "303b8f4d34"인 예를 나타낸 것이다.Referring to FIG. 8 , when the server device 100 receives a status information check request for a specific container from the user terminal 10 through the user interface 110, the server device 100 transmits the container through a TCP tunnel connected to the host node where the container is located. A status information check request packet may be transmitted to the agent 200 (S810). The packet transmitted in step S810 shows an example in which the action is 'top' and the container ID (cid) to be checked is "303b8f4d34".
에이전트(200)는 서버 장치(100)로부터 컨테이너 상태 정보 확인 요청 패킷을 수신하면, 해당 패킷에 포함된 컨테이너 아이디에 해당하는 컨테이너를 검색하고(S820), 서버 장치(100)와 리버스(reverse) TCP 세션 연결을 수행할 수 있다(S830).When the agent 200 receives a container state information check request packet from the server device 100, it searches for a container corresponding to the container ID included in the packet (S820), and reverse TCP with the server device 100. Session connection may be performed (S830).
에이전트(200)는 컨테이너 "303b8f4d34"와 표준 입출력 bind 함수를 통해 연결하거나, TCP 터널링을 할 수 있다(S840).The agent 200 may connect to the container "303b8f4d34" through the standard input/output bind function or perform TCP tunneling (S840).
이후 에이전트(200)는 해당 컨테이너의 CPU, 메모리, Disk I/O 정보를 확인하여(S850), 서버 장치(100)로 전달할 수 있다(S860).Thereafter, the agent 200 may check the CPU, memory, and disk I/O information of the corresponding container (S850) and transmit the information to the server device 100 (S860).
도 9는 본 발명의 일 실시예에 따른 컨테이너 이미지 풀링을 수행하는 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating a method of performing container image pulling according to an embodiment of the present invention.
도 9를 참고하면, 서버 장치(100)는 사용자 단말(10)로부터 특정 호스트 노드에 대한 이미지 풀링 요청을 사용자 인터페이스(110)를 통해 수신하면, 해당 호스트 노드와 연결된 TCP 터널을 통해 이미지 풀링 요청 패킷을 에이전트(200)에 전송할 수 있다(S910). 단계(S910)에서 전송된 이미지 풀링 요청 패킷에 액션 종류(action)가 이미지 풀링(image_pull)이고, 풀링 이미지명(image_name)이 "new_image"에 해당하는 정보가 포함된 예를 나타낸 것이다.Referring to FIG. 9 , when the server device 100 receives an image pulling request for a specific host node from the user terminal 10 through the user interface 110, the server device 100 receives an image pulling request packet through a TCP tunnel connected to the corresponding host node. may be transmitted to the agent 200 (S910). The image pulling request packet transmitted in step S910 shows an example in which the action type (action) is image pulling (image_pull) and the pulling image name (image_name) includes information corresponding to “new_image”.
이후 에이전트(200)는 해당 호스트 노드에서 로컬 이미지(Local Image) 정보 확인을 한 후(S920), 이미지 허브(Image Hub)로부터 "new_image"에 해당하는 이미지를 해당 호스트 노드로 풀링하면서(S930), 서버 장치(100)에 이미지 풀링 진행률 정보를 전달할 수 있다(S940). 그리고 이미지 풀링이 완료되면, 에이전트(200)는 서버 장치(100)에 이미지 풀링 완료 메시지를 전달할 수 있다(S950). 여기서 이미지 허브(Image Hub)는 호스트 노드와 다른 외부 장치로 다양한 컨테이너 이미지가 등록 저장되어 있는 이미지 저장소, 예컨대 도커 허브(https://hub.docker.com/) 등일 수 있다.Thereafter, the agent 200 checks the local image information on the corresponding host node (S920), and then pulls the image corresponding to "new_image" from the image hub to the corresponding host node (S930). Image pulling progress information may be transmitted to the server device 100 (S940). When image pulling is completed, the agent 200 may transmit an image pulling completion message to the server device 100 (S950). Here, the image hub may be an image repository in which various container images are registered and stored as an external device different from the host node, such as Docker Hub (https://hub.docker.com/).
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

Claims (11)

  1. 복수의 호스트 노드에 각각 설치되는 에이전트 - 상기 복수의 호스트 노드는 하나 이상의 컨테이너가 실행됨 - ; 및Agents installed on each of a plurality of host nodes, wherein one or more containers are executed on the plurality of host nodes; and
    상기 복수의 호스트 노드에 각각 설치된 에이전트에 의해 수집되는 컨테이너 정보를 전송받는 서버 장치A server device that receives container information collected by agents installed on each of the plurality of host nodes.
    를 포함하고,including,
    상기 에이전트는,the agent,
    상기 호스트 노드에서 실행 후 상기 서버 장치로 TCP 연결을 수행하고 TCP 터널을 생성하여 연결 종료 시점까지 유지하며, 미리 제공된 CRI(Container Runtime Interface) 정보를 이용하여 해당 CRI의 API(Application Programming Interface)를 통해 컨테이너 정보를 수집하여, 상기 서버 장치와 사이에 생성된 TCP 터널을 통해 전송하는 멀티 노드 환경에서 컨테이너 관리 운영 시스템.After execution in the host node, a TCP connection is made to the server device, a TCP tunnel is created and maintained until the connection is terminated, and through the API (Application Programming Interface) of the corresponding CRI using CRI (Container Runtime Interface) information provided in advance. A container management operating system in a multi-node environment that collects container information and transmits it through a TCP tunnel created between the server device.
  2. 제 1 항에서,In claim 1,
    상기 서버 장치는, The server device,
    사용자 단말로부터 미리 정해진 컨테이너에 대한 원격 접속 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 원격 접속 패킷을 전송하고,When receiving a remote access request for a predetermined container from a user terminal, a remote access packet is transmitted through a TCP tunnel connected to a host node where the predetermined container is located;
    상기 에이전트는,the agent,
    상기 서버 장치로부터 원격 접속 패킷을 수신하면, 상기 서버 장치와 리버스(reverse) TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 사용자 단말과 상기 미리 정해진 컨테이너 사이의 원격 접속을 수행하는 멀티 노드 환경에서 컨테이너 관리 운영 시스템.Upon receiving a remote access packet from the server device, a reverse TCP session connection is performed with the server device, and a remote connection between the user terminal and the predetermined container is established after connecting a TCP tunnel between the predetermined containers. A container management operating system in a multi-node environment that performs.
  3. 제 1 항에서,In claim 1,
    상기 서버 장치는, The server device,
    사용자 단말로부터 미리 정해진 호스트 노드에 대한 이미지 풀링(image pulling) 요청을 수신하면, 상기 미리 정해진 호스트 노드와 연결된 TCP 터널을 통해 이미지 풀링 요청 패킷을 전송하고,When receiving an image pulling request for a predetermined host node from a user terminal, an image pulling request packet is transmitted through a TCP tunnel connected to the predetermined host node;
    상기 에이전트는,the agent,
    상기 서버 장치로부터 이미지 풀링 요청 패킷을 받으면, 이미지 허브로부터 상기 미리 정해진 호스트 노드로 이미지 풀링을 수행하는 멀티 노드 환경에서 컨테이너 관리 운영 시스템.A container management operating system in a multi-node environment that performs image pulling from an image hub to the predetermined host node when receiving an image pulling request packet from the server device.
  4. 제 1 항에서,In claim 1,
    상기 서버 장치는, The server device,
    사용자 단말로부터 미리 정해진 컨테이너에 대한 이미지 업데이트(image update) 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 이미지 업데이트 요청을 전송하고,When an image update request for a predetermined container is received from a user terminal, the image update request is transmitted through a TCP tunnel connected to a host node where the predetermined container is located;
    상기 에이전트는,the agent,
    상기 서버 장치로부터 이미지 업데이트 요청을 받으면, 상기 미리 정해진 컨테이너에 대한 이미지 업데이트를 수행하고 상기 서버 장치로 이미지 업데이트 결과를 전달하는 멀티 노드 환경에서 컨테이너 관리 운영 시스템.A container management operating system in a multi-node environment for performing an image update on the predetermined container and delivering an image update result to the server device when receiving an image update request from the server device.
  5. 제 1 항에서,In claim 1,
    상기 서버 장치는, The server device,
    사용자 단말로부터 미리 정해진 컨테이너에 대한 컨테이너 상태 정보 확인 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 컨테이너 상태 정보 확인 요청을 전송하고,When receiving a container state information check request for a predetermined container from a user terminal, the container state information check request is transmitted through a TCP tunnel connected to a host node where the predetermined container is located;
    상기 에이전트는,the agent,
    상기 서버 장치로부터 컨테이너 상태 정보 확인 요청을 수신하면, 상기 서버 장치와 리버스 TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 미리 정해진 컨테이너의 상태 정보를 확인하여 상기 서버 장치로 전달하는 멀티 노드 환경에서 컨테이너 관리 운영 시스템.Upon receiving a container state information check request from the server device, a reverse TCP session connection is performed with the server device, and after connecting a TCP tunnel between the predetermined containers, the state information of the predetermined container is checked and returned to the server device. A container management operating system in a multi-node environment that delivers.
  6. 호스트 노드에 에이전트를 설치하는 단계 - 상기 호스트 노드는 하나 이상의 컨테이너가 실행됨 - ;Installing an agent on a host node, wherein one or more containers are executed on the host node;
    상기 에이전트는 상기 호스트 노드에서 실행 후 상기 서버 장치로 TCP 연결을 수행하고 TCP 터널을 생성하는 단계 - 상기 TCP 터널은 상기 서버 장치와 상기 에이전트의 TCT 연결 종료 시점까지 유지됨 - ; After the agent is executed in the host node, performing a TCP connection to the server device and creating a TCP tunnel, wherein the TCP tunnel is maintained until the TCT connection between the server device and the agent is terminated;
    상기 에이전트는 미리 제공된 CRI(Container Runtime Interface) 정보를 이용하여 해당 CRI의 API(Application Programming Interface)를 통해 컨테이너 정보를 수집하는 단계; 및collecting, by the agent, container information through an application programming interface (API) of the corresponding CRI using CRI (Container Runtime Interface) information provided in advance; and
    상기 에이전트는 상기 서버 장치와 사이에 생성된 TCP 터널을 통해 상기 수집된 컨테이너 정보를 전송하는 단계;transmitting, by the agent, the collected container information through a TCP tunnel created between the server device and the server device;
    를 포함하는 멀티 노드 환경에서 컨테이너 관리 운영 방법.How to operate container management in a multi-node environment that includes
  7. 제 6 항에서,In paragraph 6,
    상기 서버 장치는, The server device,
    사용자 단말로부터 미리 정해진 컨테이너에 대한 원격 접속 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 원격 접속 패킷을 전송하고,When receiving a remote access request for a predetermined container from a user terminal, a remote access packet is transmitted through a TCP tunnel connected to a host node where the predetermined container is located;
    상기 에이전트는,the agent,
    상기 서버 장치로부터 원격 접속 패킷을 수신하면, 상기 서버 장치와 리버스(reverse) TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 사용자 단말과 상기 미리 정해진 컨테이너 사이의 원격 접속을 수행하는 멀티 노드 환경에서 컨테이너 관리 운영 방법.Upon receiving a remote access packet from the server device, a reverse TCP session connection is performed with the server device, and a remote connection between the user terminal and the predetermined container is established after connecting a TCP tunnel between the predetermined containers. How container management operates in a multi-node environment that performs
  8. 제 6 항에서,In paragraph 6,
    상기 서버 장치가 사용자 단말로부터 미리 정해진 호스트 노드에 대한 이미지 풀링(image pulling) 요청을 수신하면, 상기 미리 정해진 호스트 노드와 연결된 TCP 터널을 통해 이미지 풀링 요청 패킷을 전송하는 단계, 및When the server device receives an image pulling request for a predetermined host node from a user terminal, transmitting an image pulling request packet through a TCP tunnel connected to the predetermined host node; and
    상기 에이전트가 상기 서버 장치로부터 이미지 풀링 요청 패킷을 받으면, 상기 미리 정해진 호스트 노드로 이미지 풀링을 수행하는 단계When the agent receives an image pulling request packet from the server device, performing image pulling with the predetermined host node.
    를 포함하는 멀티 노드 환경에서 컨테이너 관리 운영 방법.How to operate container management in a multi-node environment that includes
  9. 제 6 항에서,In paragraph 6,
    상기 서버 장치가 사용자 단말로부터 미리 정해진 컨테이너에 대한 이미지 업데이트(image update) 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 이미지 업데이트 요청을 전송하는 단계, 및When the server device receives an image update request for a predetermined container from a user terminal, transmitting the image update request through a TCP tunnel connected to a host node where the predetermined container is located; and
    상기 에이전트가 상기 서버 장치로부터 이미지 업데이트 요청을 받으면, 상기 미리 정해진 컨테이너에 대한 이미지 업데이트를 수행하고 상기 서버 장치로 이미지 업데이트 결과를 전달하는 단계When the agent receives an image update request from the server device, performing an image update on the predetermined container and transmitting an image update result to the server device
    를 포함하는 멀티 노드 환경에서 컨테이너 관리 운영 방법.How to operate container management in a multi-node environment that includes
  10. 제 6 항에서,In paragraph 6,
    상기 서버 장치가 사용자 단말로부터 미리 정해진 컨테이너에 대한 컨테이너 상태 정보 확인 요청을 수신하면, 상기 미리 정해진 컨테이너가 위치한 호스트 노드와 연결된 TCP 터널을 통해 컨테이너 상태 정보 확인 요청을 전송하는 단계, 및When the server device receives a container state information check request for a predetermined container from a user terminal, transmitting the container state information check request through a TCP tunnel connected to a host node where the predetermined container is located; and
    상기 에이전트가 상기 서버 장치로부터 컨테이너 상태 정보 확인 요청을 수신하면, 상기 서버 장치와 리버스 TCP 세션 연결을 수행하고, 상기 미리 정해진 컨테이너 사이의 TCP 터널을 연결 후 상기 미리 정해진 컨테이너의 상태 정보를 확인하여 상기 서버 장치로 전달하는 단계When the agent receives a request for checking container state information from the server device, it performs a reverse TCP session connection with the server device, connects a TCP tunnel between the predetermined containers, and checks the state information of the predetermined container. Steps to forward to the server device
    를 포함하는 멀티 노드 환경에서 컨테이너 관리 운영 방법.How to operate container management in a multi-node environment that includes
  11. 제 6 항 내지 제 10 항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method according to any one of claims 6 to 10.
PCT/KR2022/003966 2021-05-12 2022-03-22 Method and system for managing and operating containers in multi-node environment WO2022239954A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0061264 2021-05-12
KR1020210061264A KR20220153815A (en) 2021-05-12 2021-05-12 Container management operation method and system in a multi-node environment

Publications (1)

Publication Number Publication Date
WO2022239954A1 true WO2022239954A1 (en) 2022-11-17

Family

ID=84028553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/003966 WO2022239954A1 (en) 2021-05-12 2022-03-22 Method and system for managing and operating containers in multi-node environment

Country Status (2)

Country Link
KR (1) KR20220153815A (en)
WO (1) WO2022239954A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180016839A (en) * 2016-08-08 2018-02-20 주식회사 케이티 Management server, session server and media play device for providing cloud web service
KR101987664B1 (en) * 2018-07-19 2019-06-11 나무기술 주식회사 Monitoring method for multi-cluster and application on cloud platform
JP2020512757A (en) * 2017-09-29 2020-04-23 オラクル・インターナショナル・コーポレイション System and method for managing blockchain cloud services
KR102093130B1 (en) * 2018-06-11 2020-04-23 주식회사 티맥스에이앤씨 Integrated managrment system for container-based cloud servers
KR20200131375A (en) * 2019-05-13 2020-11-24 엔에이치엔 주식회사 A method for containerization of a server application and computer system performing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180016839A (en) * 2016-08-08 2018-02-20 주식회사 케이티 Management server, session server and media play device for providing cloud web service
JP2020512757A (en) * 2017-09-29 2020-04-23 オラクル・インターナショナル・コーポレイション System and method for managing blockchain cloud services
KR102093130B1 (en) * 2018-06-11 2020-04-23 주식회사 티맥스에이앤씨 Integrated managrment system for container-based cloud servers
KR101987664B1 (en) * 2018-07-19 2019-06-11 나무기술 주식회사 Monitoring method for multi-cluster and application on cloud platform
KR20200131375A (en) * 2019-05-13 2020-11-24 엔에이치엔 주식회사 A method for containerization of a server application and computer system performing the same

Also Published As

Publication number Publication date
KR20220153815A (en) 2022-11-21

Similar Documents

Publication Publication Date Title
WO2020162680A1 (en) Microservice system and method
US9391801B2 (en) Virtual private networks distributed across multiple cloud-computing facilities
US8140688B2 (en) Method and system for establishing connections between nodes in a communication network
US8244924B2 (en) Discovery and configuration of device configurations
EP0312739B1 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
JP2003528371A (en) Federated operating system for servers
CN114077480B (en) Method, device, equipment and medium for sharing memory between host and virtual machine
WO2014069827A1 (en) System and method for providing data analysis service in a cloud environment
WO2011099690A2 (en) Method and apparatus for using service of home network device based on remote access
WO2017161562A1 (en) Management method and device for application in network function virtualization environment
WO2019132314A1 (en) Apparatus and method for network function virtualization in wireless communication system
KR20220157317A (en) Methods and systems for service distribution using data path state replication and intermediate device mapping
CN114942826A (en) Cross-network multi-cluster system, access method thereof and cloud computing equipment
CN114518969A (en) Inter-process communication method, system, storage medium and computer device
CN112968919B (en) Data processing method, device, equipment and storage medium
WO2018008933A1 (en) Method for providing virtual cpe service by using single internet line and network function virtualization cloud
WO2022239954A1 (en) Method and system for managing and operating containers in multi-node environment
WO2013027922A1 (en) Compressed image file management device and method, for cloud computing system
WO2020222407A1 (en) Machine learning platform management system and method
WO2020101223A1 (en) Method for providing api in serverless cloud computing
WO2021022947A1 (en) Method for deploying virtual machine and related device
WO2013027919A1 (en) Method and apparatus for generating an automatic personal virtualization in a cloud computing environment
WO2020138747A1 (en) Method for operating micro disposable iot service infrastructure
Wu et al. Programmable virtual network instantiation in IaaS cloud based on SDN
WO2018088588A1 (en) Host-based system and method for analyzing vulnerabilities in cloud computing environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22807602

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22807602

Country of ref document: EP

Kind code of ref document: A1