KR20230060211A - Lightweight KubeEdge configuration method and apparatus for edge computing environment - Google Patents
Lightweight KubeEdge configuration method and apparatus for edge computing environment Download PDFInfo
- Publication number
- KR20230060211A KR20230060211A KR1020210144683A KR20210144683A KR20230060211A KR 20230060211 A KR20230060211 A KR 20230060211A KR 1020210144683 A KR1020210144683 A KR 1020210144683A KR 20210144683 A KR20210144683 A KR 20210144683A KR 20230060211 A KR20230060211 A KR 20230060211A
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- lightweight
- master node
- nodes
- cube
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 18
- 230000006855 networking Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000000415 inactivating effect Effects 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 241000615866 Antho Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 에지 컴퓨팅 환경을 위한 경량 큐브에지 구성 방법 및 장치에 관한 것이다. The present invention relates to a lightweight cube edge configuration method and apparatus for an edge computing environment.
모바일 장치의 수가 급격히 증가함에 따라 서비스 제공업체는 서비스를 출시할 때 짧은 대기 시간 요구 사항과 함께 대용량 데이터에 적응하기 위해 에지 컴퓨팅을 적용하는 경향이 증가하고 있다. With the rapid increase in the number of mobile devices, service providers are increasingly adopting edge computing to adapt to large amounts of data with low latency requirements when launching their services.
애플리케이션 개발자는 대규모 클라우드 제공업체(Microsoft Azure, Amazon Web Service 등)와 함께 KubeEdge, Akri, Google Anthos와 같은 오픈 소스 프로젝트를 통해 에지에서 쿠버네티스(Kubernetes)를 구성하는 방향으로 진행하고 있다. Application developers are moving toward configuring Kubernetes at the edge through open source projects such as KubeEdge, Akri, and Google Anthos, along with large cloud providers (Microsoft Azure, Amazon Web Services, etc.).
쿠버네티스는 에지 컴퓨팅에 적합하지 않기 때문에 쿠버네티스를 경량화한 큐브에지(KubeEdge)가 제안되었다. Since Kubernetes is not suitable for edge computing, KubeEdge, a lightweight version of Kubernetes, has been proposed.
큐브에지를 사용하면 운영자가 중앙 집중식 관리 인터페이스를 통해 에지 측에서 컨테이너화로 서비스를 배포하고 관리할 수 있다. 큐브에지 시스템에서 서비스를 배포하려면 큐브에지 시스템에서 서비스를 설계하여야 한다. CubeEdge allows operators to deploy and manage services with containerization on the edge side through a centralized management interface. In order to distribute services in CubeEdge systems, services must be designed in CubeEdge systems.
따라서 서비스 개발을 가속화하기 위해서는 쉽고 빠른 큐브에지 시스템 구성 솔루션이 필요하나, 큐브에지 설치에는 많은 복잡한 구성과정이 요구된다.Therefore, an easy and fast CubeEdge system configuration solution is required to accelerate service development, but many complicated configuration processes are required for CubeEdge installation.
상기한 종래기술의 문제점을 해결하기 위해, 본 발명은 큐브에지 시스템을 자동으로 구성할 수 있는 에지 컴퓨팅 환경을 위한 경량 큐브에지 구성 방법 및 장치를 제안하고자 한다. In order to solve the problems of the prior art, the present invention proposes a lightweight cube edge construction method and apparatus for an edge computing environment capable of automatically configuring a cube edge system.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 클라우드 코어 및 에지 코어를 포함하는 큐브에지 시스템에 대해 경량 큐브에지 도구를 이용하여 에지 컴퓨팅 환경을 위한 경량 큐브에지 시스템을 구성하는 방법으로서, 상기 경량 큐브에지 도구가, 커널 기반 가상 머신(Kernal Virtual Machine, KVM)을 이용하여 가상 머신을 생성하고 네트워킹 환경을 구축하는 단계; 상기 클라우드 코어 측의 마스터 노드 및 상기 에지 코어 측의 복수의 에지 노드를 포함하는 모든 노드가, 컨테이너를 설치하고, 컨테이너 런타임을 설정하는 단계; 상기 마스터 노드가, 마스터 노드 토큰을 생성하는 단계; 상기 복수의 에지 노드가, 상기 마스터 노드 토큰을 워커 노드로 전달하는 단계; 및 상기 워커 노드가, 상기 마스터 노드 토큰을 이용하여 상기 마스터 노드와 결합하여 클러스터를 형성하는 단계를 포함하는 경량 큐브에지 시스템 구성 방법이 제공된다. In order to achieve the above object, according to an embodiment of the present invention, a lightweight cube edge system for an edge computing environment is configured using a lightweight cube edge tool for a cube edge system including a cloud core and an edge core As a method, the lightweight cube edge tool, using a kernel-based virtual machine (Kernal Virtual Machine, KVM) to create a virtual machine and build a networking environment; installing containers and setting container runtimes at all nodes including a master node on the cloud core side and a plurality of edge nodes on the edge core side; Generating, by the master node, a master node token; transmitting, by the plurality of edge nodes, the master node token to a worker node; and combining the worker node with the master node using the master node token to form a cluster.
상기 네트워킹 환경을 구축하는 단계는, 상기 경량 큐브에지 도구가, 상기 클라우드 코어 측 쿠버네티스 클러스터를 형성하기 위한 LAN과 상기 쿠버네티스 클러스터와 상기 복수의 에지 노드를 연결하기 위한 LAN을 설정하는 단계를 포함할 수 있다. In the step of establishing the networking environment, the lightweight cube edge tool sets up a LAN for forming the cloud core-side Kubernetes cluster and a LAN for connecting the Kubernetes cluster and the plurality of edge nodes. can include
상기 모든 노드가 컨테이너를 설치하는 단계 이전에, 상기 경량 큐브에지 도구가, 상기 모든 노드에 대한 스왑 메모리를 비활성화하는 단계를 더 포함할 수 있다. Prior to the step of installing containers in all nodes, the lightweight cube edge tool may further include inactivating swap memory for all nodes.
상기 모든 노드는 디바이스, CPU, RAM, 네트워크 액세스 등을 포함하는 커널의 특정 하위 시스템을 제어하기 위한 메커니즘으로 정의되는 Cgroup 드라이버를 상기 컨테이너 런타임으로 설정할 수 있다. All the nodes can set Cgroup drivers, which are defined as mechanisms for controlling specific subsystems of the kernel, including devices, CPU, RAM, network access, and the like, to the container runtime.
상기 마스터 노드는 쿠버네티스 API 서버일 수 있다. The master node may be a Kubernetes API server.
상기 마스터 노드 토큰을 생성하는 단계 이전에, 상기 마스터 노드가, 쿠버네티스 및 큐브에지를 설치하는 단계를 더 포함할 수 있다. Before the step of generating the master node token, the master node may further include installing Kubernetes and Cube Edge.
상기 마스터 노드 토큰을 상기 워커 노드로 전달하는 단계 이전에, 상기 복수의 에지 노드가 큐브에지를 설치하는 단계를 더 포함할 수 있다. Prior to the step of transferring the master node token to the worker node, the plurality of edge nodes may further include installing a cube edge.
본 발명의 다른 측면에 따르면 상기한 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공된다. According to another aspect of the present invention, a computer readable recording medium storing a program for performing the above method is provided.
본 발명의 또 다른 측면에 따르면, 클라우드 코어 및 에지 코어를 포함하는 에지 컴퓨팅 환경을 위한 경량 큐브에지 시스템 구성 장치로서, 프로세서; 및 상기 프로세서에 연결되는 메모리를 포함하되, 상기 메모리는, 커널 기반 가상 머신(Kernal Virtual Machine, KVM)을 이용하여 가상 머신을 생성하고 네트워킹 환경을 구축하고, 상기 클라우드 코어 측의 마스터 노드 및 상기 에지 코어 측의 복수의 에지 노드를 포함하는 모든 노드가 컨테이너를 설치하도록 하고, 상기 모든 노드가 컨테이너 런타임을 설정하도록 하고, 상기 마스터 노드가 마스터 노드 토큰을 생성하도록 하고, 상기 복수의 에지 노드가 상기 마스터 노드 토큰을 워커 노드로 전달하도록 하고, 상기 워커 노드가 상기 마스터 노드 토큰을 이용하여 상기 마스터 노드와 결합하여 클러스터를 형성하도록, 상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 경량 큐브에지 시스템 구성 장치가 제공된다. According to another aspect of the present invention, a lightweight cube edge system configuration device for an edge computing environment including a cloud core and an edge core, comprising: a processor; And a memory connected to the processor, wherein the memory creates a virtual machine using a Kernel Virtual Machine (KVM) and builds a networking environment, and the cloud core-side master node and the edge All nodes, including a plurality of edge nodes on the core side, install containers, all nodes set container runtimes, and the master node generates master node tokens. A lightweight cube-edge system configuration device that stores program instructions executed by the processor so that the node token is transferred to the worker node, and the worker node combines with the master node using the master node token to form a cluster. Provided.
본 발명에 따르면, 복잡한 설정 과정 없이 자동으로 경량 큐브에지 시스템을 구축할 수 있는 장점이 있다. According to the present invention, there is an advantage of automatically building a lightweight cube edge system without a complicated setting process.
도 1은 일반적인 큐브에지 시스템의 상세 구성을 도시한 도면이다.
도 2는 본 실시예에 따른 경량 큐브에지 시스템을 구성하는 과정을 설명하기 위한 도면이다. 1 is a diagram showing the detailed configuration of a general cube edge system.
2 is a diagram for explaining a process of configuring a lightweight cube edge system according to the present embodiment.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.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.
큐브에지 시스템은 쿠버네티스 컨테이너형 조정 기능을 에지의 호스트로 확장하도록 설계한 오픈 소스 에지 컴퓨팅 플랫폼으로 클라우드와 에지 디바이스 간의 네트워크 애플리케이션 배포 및 메타데이터 동기화를 지원한다. The CubeEdge system is an open-source edge computing platform designed to extend Kubernetes containerized orchestration capabilities to hosts at the edge, enabling network application deployment and metadata synchronization between cloud and edge devices.
도 1은 일반적인 큐브에지 시스템의 상세 구성을 도시한 도면이다. 1 is a diagram showing the detailed configuration of a general cube edge system.
도 1을 참조하면, 큐브에지 시스템은 클라우드 코어(CloudCore, 100) 및 에지 코어(EdgeCore, 102)를 포함한다. Referring to FIG. 1 , the CubeEdge system includes a CloudCore 100 and an EdgeCore 102 .
클라우드 코어(100)는 식별된 에지 노드로 데이터를 전송하기 위한 에지 노드 및 파드(Pod)의 메타데이터를 제어하는 확장된 쿠버네티스 컨트롤러이다. The
클라우드 코어(100)는 에지 컨트롤러(EdgeController, 110), 디바이스 컨트롤러(DeviceController, 112) 및 클라우드 허브(Cloud Hub, 114)를 포함할 수 있다. The
에지 컨트롤러(110)는 에지 클러스터에 존재하는 복수의 에지 노드(디바이스)를 관리한다. The
이를 위해 에지 컨트롤러(110)는 쿠버네티스 API 서버(K8s API Server, 마스터 노드, 130)와 복수의 에지 노드를 연결하고, 이를 통해 복수의 에지 노드들을 쿠버네티스 API 서버(130)에 등록한다. To this end, the
디바이스 컨트롤러(112)는 에지 클러스터 내의 에지 노드들의 메타데이터/상태를 관리하고, 에지 및 클라우드 간의 동기화를 통해 에지 노드를 관리한다. The
클라우드 허브(114)는 클라우드 코어(100)와 에지 코어(102) 간, 특히 에지 컨트롤러(110)와 에지 노드 간의 통신 기능을 제공한다. The
에지 코어(102)는 에지 허브(Edge Hub, 120), 메타관리자(MetaManager, 122), 에지D(EdgeD, 124) 및 디바이스 트윈(Device Twin, 126)을 포함할 수 있다. The Edge Core 102 may include an Edge Hub 120 , a MetaManager 122 , an EdgeD 124 , and a Device Twin 126 .
에지 허브(120)는 에지 컴퓨팅을 위해 클라우드 코어(100)와 상호 작용하며, 클라우드 코어(100)와 에지 코어(102) 간 통신 기능을 제공하여 에지 노드의 상태를 클라우드 측으로 보고하고 이들 사이의 리소스 업데이트를 동기화한다. The
메타관리자(122)는 에지D(124)를 통해 관리되는 에지 노드의 컨테이너의 상태를 관리한다. 이를 위해 메타관리자(122)는 디바이스 컨트롤러(112)와 메타데이터를 교환한다. The
에지D(124)는 에지 노드의 컨테이너를 관리하며, 큐브에지 시스템에서 파드를 작동시킨다. EdgeD 124 manages the containers of the Edge node and operates Pods in the CubeEdge system.
모든 에지 노드에는 컨테이너를 운영하는 에이전트인 Kubelet이 있어야 한다. 에지 허브(120) 및 클라우드 허브(114)를 통해 쿠버네티스 API 서버(130)에 에지 노드를 등록한다. Kubelet은 쿠버네티스 API 서버(130)로부터 애플리케이션 컨테이너 시작, 중지 및 종료와 같은 각 에지 노드에서 수행할 작업을 수신한다. 또한 에지 노드 및 컨테이너 상태를 쿠버네티스 API 서버(130)로 다시 보낸다.Every edge node must have Kubelet, an agent that runs containers. Edge nodes are registered with the Kubernetes
디바이스 트윈(126)은 에지 노드의 상태를 저장하고, 리소스 상태를 관리한다. The
디바이스 트윈(126)은 매퍼(Mapper, 140)를 통해 각 에지 노드의 리소스 상태를 수집하고, 이벤트 버스(Event Bus, 142)를 통해 수집된 리소스 상태를 수신하고, 자신의 DB에 저장한다. The
이벤트 버스(142)는 MQTT 서버와 상호 작용하는 MQTT 클라이언트로, 다른 컴포넌트에 게시/구독(pub/sub) 기능을 제공한다.
이후 리소스 상태는 에지 허브(120) 및 클라우드 허브(114) 간 통신을 통해 디바이스 컨트롤러(112)로 전달되어 클라우드 측과 에지 측에 동일한 내용이 저장되어 관리될 수 있도록 동기화한다. Thereafter, the resource state is transmitted to the
서비스 버스(Service Bus, 144)는 에지 노드 리소스를 활용하려는 사용자로부터 메시지를 수신하고, 이를 메타관리자(122)를 통해 에지D(124)에 전달하여 컨테이너에서 사용자가 요청한 작업이 수행될 수 있도록 한다. The Service Bus (144) receives a message from a user who wants to utilize edge node resources and forwards it to the Edge D (124) through the Meta
에지 노드는 도커, 컨테이너 런타임 인터페이스 및 컨테이너 런타임을 포함할 수 있다. Edge nodes can include Docker, container runtime interfaces, and container runtimes.
이하에서는 이들 구성을 상세하게 설명한다. These configurations are described in detail below.
CRI(Container Runtime Interface)는 플러그인 인터페이스로서, kubelet에 다양한 컨테이너 런타임을 사용할 수 있는 기능을 제공한다. 또한 쿠버네티스 플러그인은 CRI를 사용하여 컨테이너를 실행하고 관찰한다. CRI에는 gRPC API, 프로토콜 버퍼 및 라이브러리가 포함된다. CRI (Container Runtime Interface) is a plug-in interface that provides kubelet with the ability to use various container runtimes. Kubernetes plugins also use CRI to launch and observe containers. CRI includes the gRPC API, protocol buffers and libraries.
OCI(Open Container Initiative) 런타임은 로우레벨 런타임으로서, 로우레벨 런타임은 컨테이너 수명 주기 관리를 수행하고, 컨테이너를 만들고 실행한다.The Open Container Initiative (OCI) runtime is a low-level runtime. The low-level runtime performs container life cycle management, creates and runs containers.
Containerd는 Docker(도커) 엔진의 기본 CRI이며, Containerd는 컨테이너를 실행하고 노드에서 이미지와 스냅샷을 관리하기 위한 최소한의 기능을 제공한다. OCI 런타임에 실행 작업을 위임하여 컨테이너를 실행하고 종료한다. Containerd는 새 컨테이너를 실행하기 위해 다음 작업을 수행한다. Containerd is the default CRI of Docker Engine, and Containerd provides minimal functionality for running containers and managing images and snapshots on nodes. It executes and terminates the container by delegating the execution task to the OCI runtime. Containerd does the following to launch a new container:
CRI-O는 하이레벨 쿠버네티스 CRI와 OCI 런타임 사이의 링크를 제공하기 위해 구축된 컨테이너 런타임이다. CRI-O is a container runtime built to provide a link between the high-level Kubernetes CRI and OCI runtimes.
도커(Docker)에서 Containerd를 기본 컨테이너 런타임으로 사용한다.Docker uses Containerd as the default container runtime.
컨테이너 런타임을 사용하여 컨테이너를 만들고 관리할 수 있다. 그러나 클러스터 시스템에서 이러한 컨테이너를 관리하고 조정하는 도구가 필요하다. 일반적으로 하나의 서비스가 다수의 컨테이너로 구성되기 때문에 컨테이너 수명 주기 관리를 위한 컨테이너 오케스트레이션 도구가 사용된다. You can use the container runtime to create and manage containers. However, you need tools to manage and orchestrate these containers on a clustered system. Container orchestration tools are used for container lifecycle management because a service is typically composed of multiple containers.
Kubernetes, Apache Mesos, Docker Swarm 등과 같은 다양한 컨테이너 오케스트레이션 도구를 사용할 수 있다. You can use a variety of container orchestration tools such as Kubernetes, Apache Mesos, Docker Swarm, and more.
일반적으로 컨테이너는 파드라고 하는 복제된 그룹의 호스트에 배포된다. 컨테이너 오케스트레이션 도구는 배포를 예약하고, 유휴 컴퓨팅 단위, 사용 가능한 메모리, 네트워크 대역폭 등과 같은 사전 정의된 제약 조건을 기반으로 가장 적절한 호스트가 컨테이너를 배치하도록 선택된다.Typically, containers are deployed to hosts in replicated groups called pods. Container orchestration tools schedule deployments, and based on predefined constraints such as idle compute units, available memory, network bandwidth, etc., the most appropriate host is chosen to deploy the container.
컨테이너가 호스트에서 실행되는 동안 컨테이너 오케스트레이션 도구는 컨테이너의 수명 주기를 관리한다. 컨테이너 오케스트레이션 도구는 개인용 컴퓨터에서 Amazon Web Services(AWS), DigitalOcean 등에서 실행되는 프라이빗 클라우드 인스턴스에 이르기까지 컨테이너를 실행할 수 있는 모든 환경에서 사용할 수 있다. While containers run on the host, container orchestration tools manage the container's lifecycle. Container orchestration tools can be used in any environment that can run containers, from personal computers to private cloud instances running on Amazon Web Services (AWS), DigitalOcean, and more.
도커 엔진은 애플리케이션을 구축하고 컨테이너화하기 위한 Linux 컨테이너를 기반으로 하는 오픈 소스 컨테이너화 플랫폼이다. 멀티 컨테이너 애플리케이션의 컨테이너 이미지를 관리하기 위한 API와 경량 컨테이너를 제공하여 현재의 컨테이너 기술을 확장한다. Docker Engine is an open source containerization platform based on Linux containers for building and containerizing applications. It extends current container technology by providing lightweight containers and APIs for managing container images in multi-container applications.
도커 엔진은 환경 설정에 관계없이 하나의 환경에서 다른 환경으로 애플리케이션을 배포하는 데 도움이 될 수 있으며, 서비스 기능 체인의 모든 네트워크 기능을 컨테이너로 생성할 수 있다.Docker Engine can help deploy applications from one environment to another, regardless of the environment setup, and any network function in the service function chain can be created as a container.
도커 컨테이너는 도커 엔진을 실행하는 호스트의 커널에 의존한다. 운영 체제 수준에서만 사용자 공간을 분리하고 응용 프로그램을 실행할 때 리소스를 소비한다. 기본적으로 컨테이너는 네임스페이스로 나머지 프로세스와 격리된 프로세스로 구성된다. 도커에서 실행되는 컨테이너는 호스트 OS 커널을 공유한다. 스토리지, 네트워킹 및 제어 그룹과 같은 Linux 커널 기능을 사용하여 운영 체제 위에 컨테이너를 구축한다. 도커는 애플리케이션의 소프트웨어를 OS, 애플리케이션 코드, 런타임, 시스템 도구, 라이브러리 등과 같이 실행하는 데 필요한 모든 것이 포함된 패키지로 묶는다. 따라서 애플리케이션은 사용자 지정 구성에 관계없이 다른 Linux 시스템에서 실행할 수 있다. 또한 도커 이미지의 읽기 전용 파일 시스템 위에 읽기-쓰기 파일 시스템을 추가하여 도커 컨테이너를 생성한다.Docker containers depend on the kernel of the host running Docker Engine. It separates user space only at the operating system level and consumes resources when running applications. Basically, a container consists of a process that is isolated from the rest of the process by a namespace. Containers running on Docker share the host OS kernel. It builds containers on top of the operating system using Linux kernel features such as storage, networking, and control groups. Docker bundles an application's software into a package that contains everything it needs to run, such as the OS, application code, runtime, system tools, and libraries. Therefore, applications can run on other Linux systems regardless of custom configurations. It also creates a Docker container by adding a read-write file system on top of the read-only file system of the Docker image.
도 2는 본 실시예에 따른 경량 큐브에지 시스템을 구성하는 과정을 설명하기 위한 도면이다. 2 is a diagram for explaining a process of configuring a lightweight cube edge system according to the present embodiment.
도 2를 참조하면, 본 실시예에 따른 경량 큐브에지 도구(tool)를 통해 클라우드 코어 및 에지 코어 모두에서 수행되어야 하는 단계와 개별 코어에서 수행되어야 할 단계가 구분된다. Referring to FIG. 2 , the steps to be performed in both the cloud core and the edge core and the steps to be performed in the individual core are distinguished through the lightweight cube edge tool according to the present embodiment.
본 실시예에 따른 경량 큐브에지 도구는 프로세서 및 메모리를 포함하는 장치에서 실행되는 프로그램 명령어로 정의될 수 있다. The lightweight CubeEdge tool according to this embodiment may be defined as a program command executed in a device including a processor and memory.
프로세서는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그 밖에 가상 머신 등을 포함할 수 있다. The processor may include a central processing unit (CPU) capable of executing a computer program or other virtual machines.
메모리는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 콤팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.The memory may include a non-volatile storage device such as a fixed hard drive or a removable storage device. The removable storage device may include a compact flash unit, a USB memory stick, and the like. The memory may also include volatile memory such as various random access memories.
메모리에는 경량 큐브에지 시스템을 구성하기 위한 프로그램 명령어들이 저장된다. The memory stores program instructions for configuring the lightweight cube-edge system.
모든 노드에 적용apply to all nodes
이하의 과정은 클라우드 코어에 포함된 노드와 에지 코어에 포함된 노드 모두에서 수행되는 과정이다. The following process is performed in both nodes included in the cloud core and nodes included in the edge core.
본 실시예에 따른 경량 큐브에지 도구는 커널 기반 가상 머신(Kernal Virtual Machine, KVM)을 이용하여 가상 머신(VM)을 생성한다(단계 200). The lightweight CubeEdge tool according to this embodiment creates a virtual machine (VM) using a kernel-based virtual machine (Kernal Virtual Machine, KVM) (step 200).
경량 큐브에지 도구는 가상 머신 생성 이후, KVM 내부에 최소 두 개의 LAN을 설정하여 네트워킹 환경을 구축한다(단계 202). After creating a virtual machine, the lightweight CubeEdge tool establishes a networking environment by setting at least two LANs inside the KVM (step 202).
하나의 LAN은 큐브에지 시스템의 클라우드 측 쿠버네티스 클러스터를 형성하기 위한 것이고, 다른 하나는 클라우드 측 쿠버네티스 클러스터와 큐브에지 시스템의 에지 노드를 연결하기 위한 것이다. One LAN is for forming the cloud-side Kubernetes cluster of the CubeEdge system, and the other is for connecting the cloud-side Kubernetes cluster and the edge nodes of the CubeEdge system.
이후, 각 가상 머신에 네트워크 인터페이스가 추가되며, 클라우드 측에서는 쿠버네티스 API 서버(130)에 에지 노드의 수에 상응하는 네트워크 인터페이스가 추가된다. Subsequently, network interfaces are added to each virtual machine, and network interfaces corresponding to the number of edge nodes are added to the
큐브-스케줄러가 CPU/메모리가 부족하거나 지정된 CPU/메모리 제한에 도달한 노드에 파드를 할당하지 못하도록 하려면, 클라우드 코어 측 및 에지 코어 측의 모든 노드에서 스왑 메모리(swap area)를 비활성화해야 한다. To prevent the cube-scheduler from assigning pods to nodes that are running out of CPU/memory or have reached their specified CPU/memory limits, you should disable the swap area on all nodes, both on the cloud core side and on the edge core side.
큐브에지 시스템은 쿠버네티스를 기반으로 하므로 경량 큐브에지 도구는 클라우드 및 에지 코어에 포함된 모든 노드에 대해 스왑 메모리를 비활성화한다(단계 204). Since the CubeEdge system is based on Kubernetes, the lightweight CubeEdge tool disables swap memory for all nodes included in Cloud and Edge Core (step 204).
이후, 모든 노드들은 컨테이너를 설치한다(단계 206). Then, all nodes install containers (step 206).
큐브에지 시스템의 각 노드는 Cgroup 드라이버를 컨테이너의 런타임으로 설정한다(단계 208). Each node in the CubeEdge system sets the Cgroup driver to the container's runtime (step 208).
여기서, Cgroup은 디바이스, CPU, RAM, 네트워크 액세스 등을 포함하는 커널의 특정 하위 시스템을 제어하기 위한 메커니즘이다. Here, Cgroup is a mechanism for controlling a specific subsystem of the kernel including device, CPU, RAM, network access, and the like.
클라우드 노드cloud node
마스터 노드에 쿠버네티스(K8s)를 설치한다(단계 210). Install Kubernetes (K8s) on the master node (step 210).
여기서, 마스터 노드는 쿠버네티스 API 서버(130)이다. Here, the master node is the
이후, 마스터 노드에 큐브에지를 설치한다(단계 212). Then, Cube Edge is installed on the master node (step 212).
마스트 노드를 설정하고, 마스터 노드가 토큰을 생성하도록 한다(단계 214). Establish a master node and have the master node generate a token (step 214).
마지막으로 마스터 노드 토큰을 가져온다(단계 216). Finally get the master node token (step 216).
에지 노드edge node
큐브에지를 에지 노드에 설치한다(단계 218). CubeEdge is installed on the edge node (step 218).
마스터 노드 토큰을 워커 노드로 전달한다(단계 220). Pass the master node token to the worker node (step 220).
마지막으로 워커 노드는 마스터 노드 토큰을 사용하여 마스터 노드와 결합하여 클러스터를 형성한다(단계 222). Finally, the worker node joins with the master node using the master node token to form a cluster (step 222).
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.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)
상기 경량 큐브에지 도구가, 커널 기반 가상 머신(Kernal Virtual Machine, KVM)을 이용하여 가상 머신을 생성하고 네트워킹 환경을 구축하는 단계;
상기 클라우드 코어 측의 마스터 노드 및 상기 에지 코어 측의 복수의 에지 노드를 포함하는 모든 노드가, 컨테이너를 설치하고, 컨테이너 런타임을 설정하는 단계;
상기 마스터 노드가, 마스터 노드 토큰을 생성하는 단계;
상기 복수의 에지 노드가, 상기 마스터 노드 토큰을 워커 노드로 전달하는 단계; 및
상기 워커 노드가, 상기 마스터 노드 토큰을 이용하여 상기 마스터 노드와 결합하여 클러스터를 형성하는 단계를 포함하는 경량 큐브에지 시스템 구성 방법.A method of constructing a lightweight cubeedge system for an edge computing environment using a lightweight cubeedge tool for a cubeedge system including a cloud core and an edge core,
The lightweight CubeEdge tool creates a virtual machine using a kernel-based virtual machine (KVM) and builds a networking environment;
installing containers and setting container runtimes at all nodes including a master node on the cloud core side and a plurality of edge nodes on the edge core side;
Generating, by the master node, a master node token;
transmitting, by the plurality of edge nodes, the master node token to a worker node; and
A lightweight cube edge system configuration method comprising the step of forming a cluster by combining the worker node with the master node using the master node token.
상기 네트워킹 환경을 구축하는 단계는,
상기 경량 큐브에지 도구가, 상기 클라우드 코어 측 쿠버네티스 클러스터를 형성하기 위한 LAN과 상기 쿠버네티스 클러스터와 상기 복수의 에지 노드를 연결하기 위한 LAN을 설정하는 단계를 포함하는 경량 큐브에지 시스템 구성 방법.According to claim 1,
The step of building the networking environment,
A lightweight cube edge system configuration method comprising the step of setting, by the lightweight cube edge tool, a LAN for forming the cloud core-side Kubernetes cluster and a LAN for connecting the Kubernetes cluster and the plurality of edge nodes. .
상기 모든 노드가 컨테이너를 설치하는 단계 이전에, 상기 경량 큐브에지 도구가, 상기 모든 노드에 대한 스왑 메모리를 비활성화하는 단계를 더 포함하는 경량 큐브에지 시스템 구성 방법.According to claim 1,
The lightweight cube edge system configuration method further comprising deactivating, by the lightweight cube edge tool, swap memory for all the nodes before the step of installing containers in all nodes.
상기 모든 노드는 디바이스, CPU, RAM, 네트워크 액세스 등을 포함하는 커널의 특정 하위 시스템을 제어하기 위한 메커니즘으로 정의되는 Cgroup 드라이버를 상기 컨테이너 런타임으로 설정하는 경량 큐브에지 시스템 구성 방법.According to claim 1,
All the nodes set a Cgroup driver, which is defined as a mechanism for controlling a specific subsystem of the kernel, including devices, CPU, RAM, network access, etc., to the container runtime.
상기 마스터 노드는 쿠버네티스 API 서버인 경량 큐브에지 시스템 구성 방법.According to claim 1,
The method of configuring a lightweight cube edge system in which the master node is a Kubernetes API server.
상기 마스터 노드 토큰을 생성하는 단계 이전에, 상기 마스터 노드가, 쿠버네티스 및 큐브에지를 설치하는 단계를 더 포함하는 경량 큐브에지 시스템 구성 방법.According to claim 1,
Prior to the step of generating the master node token, the lightweight cube edge system configuration method further comprising the step of installing, by the master node, Kubernetes and cube edge.
상기 마스터 노드 토큰을 상기 워커 노드로 전달하는 단계 이전에, 상기 복수의 에지 노드가 큐브에지를 설치하는 단계를 더 포함하는 경량 큐브에지 시스템 구성 방법.According to claim 1,
Prior to the step of transmitting the master node token to the worker node, the plurality of edge nodes further comprising the step of installing a cube edge.
프로세서; 및
상기 프로세서에 연결되는 메모리를 포함하되,
상기 메모리는,
커널 기반 가상 머신(Kernal Virtual Machine, KVM)을 이용하여 가상 머신을 생성하고 네트워킹 환경을 구축하고,
상기 클라우드 코어 측의 마스터 노드 및 상기 에지 코어 측의 복수의 에지 노드를 포함하는 모든 노드가 컨테이너를 설치하도록 하고,
상기 모든 노드가 컨테이너 런타임을 설정하도록 하고,
상기 마스터 노드가 마스터 노드 토큰을 생성하도록 하고,
상기 복수의 에지 노드가 상기 마스터 노드 토큰을 워커 노드로 전달하도록 하고,
상기 워커 노드가 상기 마스터 노드 토큰을 이용하여 상기 마스터 노드와 결합하여 클러스터를 형성하도록,
상기 프로세서에 의해 실행되는 프로그램 명령어들을 저장하는 경량 큐브에지 시스템 구성 장치.A lightweight cube edge system configuration device for an edge computing environment including a cloud core and an edge core,
processor; and
Including a memory coupled to the processor,
the memory,
Create a virtual machine using a kernel-based virtual machine (KVM) and build a networking environment,
All nodes including a master node on the cloud core side and a plurality of edge nodes on the edge core side install containers;
allow all the nodes to set up a container runtime;
cause the master node to generate a master node token;
allowing the plurality of edge nodes to pass the master node token to a worker node;
The worker node uses the master node token to combine with the master node to form a cluster,
A lightweight cube edge system configuration device for storing program instructions executed by the processor.
상기 프로그램 명령어들은, 상기 모든 노드가 컨테이너를 설치하기 이전에, 상기 모든 노드에 대한 스왑 메모리를 비활성화하는 경량 큐브에지 시스템 구성 장치.According to claim 9,
The program instructions are lightweight cube edge system configuration device for inactivating the swap memory for all the nodes before all the nodes install the container.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210144683A KR102582777B1 (en) | 2021-10-27 | 2021-10-27 | Lightweight KubeEdge configuration method and apparatus for edge computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210144683A KR102582777B1 (en) | 2021-10-27 | 2021-10-27 | Lightweight KubeEdge configuration method and apparatus for edge computing environment |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20230060211A true KR20230060211A (en) | 2023-05-04 |
KR102582777B1 KR102582777B1 (en) | 2023-09-25 |
KR102582777B9 KR102582777B9 (en) | 2023-12-08 |
Family
ID=86379902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210144683A KR102582777B1 (en) | 2021-10-27 | 2021-10-27 | Lightweight KubeEdge configuration method and apparatus for edge computing environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102582777B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102210429B1 (en) * | 2019-04-30 | 2021-02-01 | 숭실대학교산학협력단 | Container cluster system for authentication based on blockchain |
CN112383416A (en) * | 2020-11-02 | 2021-02-19 | 之江实验室 | Kubeedge and EdgeX fountain based intelligent edge device control platform |
KR20210028176A (en) * | 2019-02-28 | 2021-03-11 | 에스케이브로드밴드주식회사 | Virtual desktop system using container and method thereof |
US20210232498A1 (en) | 2020-04-17 | 2021-07-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method for testing edge computing, device, and readable storage medium |
-
2021
- 2021-10-27 KR KR1020210144683A patent/KR102582777B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210028176A (en) * | 2019-02-28 | 2021-03-11 | 에스케이브로드밴드주식회사 | Virtual desktop system using container and method thereof |
KR102210429B1 (en) * | 2019-04-30 | 2021-02-01 | 숭실대학교산학협력단 | Container cluster system for authentication based on blockchain |
US20210232498A1 (en) | 2020-04-17 | 2021-07-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method for testing edge computing, device, and readable storage medium |
CN112383416A (en) * | 2020-11-02 | 2021-02-19 | 之江实验室 | Kubeedge and EdgeX fountain based intelligent edge device control platform |
Also Published As
Publication number | Publication date |
---|---|
KR102582777B9 (en) | 2023-12-08 |
KR102582777B1 (en) | 2023-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429408B2 (en) | System and method for network function virtualization resource management | |
EP3347816B1 (en) | Extension of resource constraints for service-defined containers | |
US11294699B2 (en) | Dynamically scaled hyperconverged system establishing minimum supported interoperable communication protocol between clusters in a cluster group | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US8863138B2 (en) | Application service performance in cloud computing | |
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
EP2319211B1 (en) | Method and apparatus for dynamically instantiating services using a service insertion architecture | |
JP5837683B2 (en) | Native cloud computing with network segmentation | |
US20190327144A1 (en) | Methods and apparatus for template driven infrastructure in virtualized server systems | |
CN112416737B (en) | Container testing method, device, equipment and storage medium | |
CN111212116A (en) | High-performance computing cluster creating method and system based on container cloud | |
US11461120B2 (en) | Methods and apparatus for rack nesting in virtualized server systems | |
US20190370023A1 (en) | Distributed job manager for stateful microservices | |
CN114968477A (en) | Container heat transfer method and container heat transfer device | |
WO2018076882A1 (en) | Operating method for storage device, and physical server | |
CN115617456A (en) | Method and device for hybrid operation of virtual machine and container, electronic equipment and readable storage medium | |
CN110569104A (en) | Management method and computer storage medium for task training in deep learning system | |
JP2008107966A (en) | Computer system | |
KR20160105636A (en) | Server Virtualization Method of Multi Node System and Apparatus thereof | |
KR102582777B1 (en) | Lightweight KubeEdge configuration method and apparatus for edge computing environment | |
US20230138867A1 (en) | Methods for application deployment across multiple computing domains and devices thereof | |
CN116466957A (en) | Automatic deployment of control nodes at remote locations | |
Le et al. | Lightweight kubeedge tool for edge computing environments | |
CN114465765B (en) | Client security management system and method of cloud desktop system | |
US20240370310A1 (en) | Resource sharing in an orchestrated environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] |