KR20230069487A - Method for determining of task transfer in multi-collaborative container platform - Google Patents

Method for determining of task transfer in multi-collaborative container platform Download PDF

Info

Publication number
KR20230069487A
KR20230069487A KR1020210155565A KR20210155565A KR20230069487A KR 20230069487 A KR20230069487 A KR 20230069487A KR 1020210155565 A KR1020210155565 A KR 1020210155565A KR 20210155565 A KR20210155565 A KR 20210155565A KR 20230069487 A KR20230069487 A KR 20230069487A
Authority
KR
South Korea
Prior art keywords
pod
cloud management
load balancing
scaling
pods
Prior art date
Application number
KR1020210155565A
Other languages
Korean (ko)
Inventor
안재훈
김영환
Original Assignee
한국전자기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자기술연구원 filed Critical 한국전자기술연구원
Priority to KR1020210155565A priority Critical patent/KR20230069487A/en
Publication of KR20230069487A publication Critical patent/KR20230069487A/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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

컨테이너 플랫폼 환경에서 작업의 이관(마이그레이션) 여부를 결정하는 클라우드 관리방법 및 장치가 제공된다. 본 발명의 실시예에 따른 클라우드 관리방법은, 클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계; 클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하는 단계; 및 클라우드 관리장치가, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 단계;를 포함한다. 이에 의해, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 클러스터 내 구동 중인 서비스에 대한 부하 분산(로드 밸런싱), 통합형 오토스케일링 등의 지속적 최적화 작업을 적용한 이후에도 서비스 제공이 원활하지 않을 경우 작업 이관(마이그레이션)을 결정함으로써, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 구동 중인 배포 서비스의 응답성 지연을 최소화할 수 있다.A cloud management method and apparatus for determining whether to transfer (migrate) a task in a container platform environment are provided. In the cloud management method according to an embodiment of the present invention, a cloud management device includes a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes. Monitoring available resource status; Performing, by a cloud management device, a continuous optimization task including at least one of load balancing and scaling in consideration of available resource status of a plurality of pods; and determining, by the cloud management device, whether to perform the migration based on the performance result of the continuous optimization task. As a result, in a distributed (multiple), collaborative container platform environment, if service provision is not smooth even after applying continuous optimization tasks such as load balancing (load balancing) and integrated auto-scaling for services running in the cluster, work is transferred (migration ), it is possible to minimize the response delay of the distribution service running in a distributed (multiple), collaborative container platform environment.

Figure P1020210155565
Figure P1020210155565

Description

다중 협업형 컨테이너 플랫폼에서의 작업 이관 결정 방법{Method for determining of task transfer in multi-collaborative container platform}Method for determining task transfer in multi-collaborative container platform

본 발명은 클라우드 관리방법 및 장치에 관한 것으로, 더욱 상세하게는 컨테이너 플랫폼 환경에서 작업의 이관(마이그레이션) 여부를 결정하는 클라우드 관리방법 및 장치에 관한 것이다.The present invention relates to a cloud management method and device, and more particularly, to a cloud management method and device for determining whether to transfer (migrate) a task in a container platform environment.

최근 앱 개발 및 서비스시 온프레미스 서버 환경을 구축하기 보다는 클라우드 환경을 이용하는 비율이 날로 증가하고 있다. 하지만, 클라우드 환경에서도 다양한 앱을 실행하는 데 있어 운영체제와 플랫폼의 제한사항에는 변화가 없으며 기존 느린 개발 프로세스와 유연하지 못한 앱 개발·배포방식에 대한 문제가 여전히 존재한다. Recently, the ratio of using a cloud environment rather than building an on-premise server environment for app development and service is increasing day by day. However, there is no change in the limitations of the operating system and platform in running various apps in a cloud environment, and problems with the existing slow development process and inflexible app development and distribution methods still exist.

또한, 내부 자원을 효율적으로 사용하고 수초 단위의 민첩한 앱 배포 및 관리가 가능한 컨테이너 기반의 마이크로 서비스가 출현하였으나, 컨테이너 기반의 마이크로 서비스는 폭증하는 사용자의 트래픽에 대응하기에는 자원을 확장하는데 한계가 있다. In addition, container-based microservices that efficiently use internal resources and enable agile app deployment and management in seconds have emerged, but container-based microservices have limitations in expanding resources to respond to exploding user traffic.

이러한 마이크로 서비스는 컨테이너 플랫폼간 서비스 이동도 불가능하며, 탄력적으로 서비스의 확장 및 가용성을 제공하고 지역적으로 분산된 컨테이너 플랫폼 간에 협업이 필요함에 따라 자원의 유연한 확장이 어렵고 서비스 이동성 극대화가 어렵다는 문제점이 있다.These microservices have a problem in that it is impossible to move services between container platforms, and it is difficult to flexibly expand resources and maximize service mobility as they provide elastic service expansion and availability and require collaboration between regionally distributed container platforms.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 클러스터 내 구동 중인 서비스에 대한 부하 분산(로드 밸런싱), 통합형 오토스케일링 등의 지속적 최적화 작업을 적용한 이후에도 서비스 제공이 원활하지 않을 경우 작업 이관(마이그레이션)을 결정하는 클라우드 관리방법 및 장치를 제공함에 있다.The present invention has been devised to solve the above problems, and an object of the present invention is load distribution (load balancing) for services running in a cluster in a distributed (multiple), collaborative container platform environment, integrated auto-scaling, etc. It is to provide a cloud management method and device for determining task transfer (migration) when service provision is not smooth even after applying the continuous optimization task.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 클라우드 관리방법은, 클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계; 클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하는 단계; 및 클라우드 관리장치가, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 단계;를 포함한다.According to an embodiment of the present invention for achieving the above object, a cloud management method includes a plurality of nodes and a plurality of clusters included in a plurality of clusters in which a cloud management device supports services running in a multi-collaborative container platform environment. Monitoring available resource status of a plurality of pods included in the node; Performing, by a cloud management device, a continuous optimization task including at least one of load balancing and scaling in consideration of available resource status of a plurality of pods; and determining, by the cloud management device, whether to perform the migration based on the performance result of the continuous optimization task.

그리고 지속적 최적화 작업을 수행하는 단계는, 복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 단계; 로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하는 단계; 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정하는 단계; 및 스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하는 단계;를 포함할 수 있다. And the step of performing the continuous optimization operation may include determining whether to perform load balancing of services in consideration of the available resource status of a plurality of pods; performing load balancing of services according to a result of determining whether to perform load balancing; determining whether to perform scaling in consideration of available resource status of a plurality of pods on which load balancing has been performed; and scaling resources of a specific pod according to a result of determining whether to perform scaling.

또한, 클라우드 관리장치는, 복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 제1 분석 엔진; 로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하는 로드밸런싱 컨트롤러; 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정하는 제2 분석 엔진; 스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하는 HAS(Hybrid Auto Scaling) 컨트롤러; 스케일링된 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 제3 분석 엔진; 및 마이그레이션의 수행 여부의 결정 결과에 따라 마이그레이션을 수행하는 스케줄러;를 포함할 수 있다. In addition, the cloud management device, a first analysis engine for determining whether to perform load balancing of the service in consideration of the available resource status of a plurality of pods; a load balancing controller that performs load balancing of services according to a result of determining whether to perform load balancing; a second analysis engine that determines whether to perform scaling in consideration of available resource conditions of a plurality of pods on which load balancing has been performed; A HAS (Hybrid Auto Scaling) controller that scales resources of a specific pod according to a result of determining whether or not to perform scaling; a third analysis engine that determines whether to perform migration based on the scaled result; and a scheduler that performs migration according to a result of determining whether to perform migration.

그리고 제1 분석 엔진은, 포드별 과부하 발생 여부를 판단하여, 제1 포드에 과부화가 발생되면, 과부화가 발생된 제1 포드를 대상으로 로드 밸런싱을 수행하도록 결정하고, 로드밸런싱 컨트롤러는, 제1 포드를 대상으로 로드 밸런싱을 수행하기로 결정되면, 서비스별 보유 클러스터를 분류하고, 제1 포드가 지원하는 서비스를 보유하는 클러스터에 포함된 복수의 포드들 각각의 가용 자원 현황 및 서비스를 보유하는 클러스터별 지리적 근접도에 대한 점수를 산출하고, 점수 산출 결과를 기반으로 로드 밸런싱을 수행할 수 있다. The first analysis engine determines whether overload occurs for each pod, and when overload occurs in the first pod, determines to perform load balancing for the overloaded first pod. When it is determined to perform load balancing for pods, clusters for each service are classified, and each of the plurality of pods included in the cluster having the service supported by the first pod has a status of available resources and a cluster holding the service A score for each geographical proximity may be calculated, and load balancing may be performed based on the score calculation result.

또한, 로드밸런싱 컨트롤러는, 클러스터별 지리적 근접도에 대한 점수 산출 시, 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출할 수 있다. In addition, the load balancing controller extracts geographic information to which the client belongs from the client IP of the service when calculating the score for the geographic proximity of each cluster, compares the extraction result with geographic information of each selected cluster, and A score for geographical proximity can be calculated according to whether or not they are identical.

그리고 로드밸런싱 컨트롤러는, 포드별 가용 자원 현황에 대한 점수 산출 시, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출할 수 있다. In addition, the load balancing controller may calculate scores for available resources including CPU resources and memory resources for each cluster when calculating scores for available resource status for each pod.

또한, 제2 분석 엔진은, 로드 밸런싱이 수행된 이후, 포드별 과부화 발생 여부를 판단하여, 제2 포드에 과부화가 발생되면, 과부화가 발생된 제2 포드를 대상으로 스케일링을 수행하도록 결정하고, HAS 컨트롤러는, 스케일링을 하기로 결정되면, 제2 포드의 자원을 스케일링하는 방식을 결정하고, 결정된 방식에 따라 제2 포드의 자원을 스케일링할 수 있다. In addition, after load balancing is performed, the second analysis engine determines whether overload occurs for each pod, and if overload occurs in the second pod, determines to perform scaling for the overloaded second pod; If scaling is determined, the HAS controller may determine a method for scaling the resources of the second pod and scale the resources of the second pod according to the determined method.

그리고 HAS 컨트롤러는, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 작은 경우, 제2 포드에 할당된 자원을 증가시킴으로써, 제2 포드의 자원을 스케일링하고, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 크거나 같은 경우, 제2 포드와 동일한 포드를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정함으로써, 제2 포드의 자원을 스케일링할 수 있다. The HAS controller scales the resources of the second pod by increasing the resources allocated to the second pod, when the free resources of the node including the second pod are smaller than the resources allocated to the second pod. If the free resources of the node that contains is greater than or equal to the resources allocated to the second pod, the same pod as the second pod is cloned to create a cloned pod in the corresponding node, and the second pod and cloned pod perform the same service. By setting to do so, it is possible to scale the resources of the second pod.

또한, 스케줄러는, 예측 모델을 이용하여 연동 중인 하나 이상의 클러스터에 포함된 복수의 노드에 대한 미래 시점에서의 자원 사용률을 예측하고, 예측 결과를 기반으로 자원 사용률이 기설정된 임계치 이상 증가하는 노드를 필터링하고, 남은 노드 중 자원 사용률이 가장 낮은 노드를 포함하는 클러스터를 마이그레이션 대상 클러스터로 선택하여, 마이그레이션을 수행할 수 있다. In addition, the scheduler predicts resource utilization at a future time point for a plurality of nodes included in one or more interlocking clusters using a predictive model, and filters nodes whose resource utilization rates increase by more than a preset threshold based on the prediction result. Then, among the remaining nodes, the cluster including the node with the lowest resource utilization is selected as the migration target cluster, and migration can be performed.

한편, 본 발명의 다른 실시예에 따른, 클라우드 관리방법이 수행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체는, 클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계; 클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하는 단계; 및 클라우드 관리장치가, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 단계;를 포함하는 클라우드 관리방법이 수행되는 컴퓨터 프로그램이 수록된다. On the other hand, according to another embodiment of the present invention, a computer-readable recording medium containing a computer program on which a cloud management method is performed is a cloud management device that supports a plurality of services running in a multi-collaborative container platform environment. Monitoring available resource statuses of a plurality of nodes included in the cluster and a plurality of pods included in the plurality of nodes; Performing, by a cloud management device, a continuous optimization task including at least one of load balancing and scaling in consideration of available resource status of a plurality of pods; and determining, by the cloud management device, whether or not to perform the migration based on the performance result of the continuous optimization task.

또한, 본 발명의 다른 실시예에 따른, 클라우드 관리장치는, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집하는 통신부; 및 수집된 메트릭 데이터를 기반으로 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 프로세서;를 포함한다.In addition, according to another embodiment of the present invention, the cloud management device includes a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes. A communication unit that collects metric data for resources; And based on the collected metric data, considering the available resource status of multiple pods, performing a continuous optimization task that includes at least one of load balancing and scaling, and determining whether to perform migration based on the result of the continuous optimization task A processor that does;

그리고 본 발명의 다른 실시예에 따른, 클라우드 관리방법은, 클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계; 클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱의 수행 여부를 결정하는 단계; 클라우드 관리장치가, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링의 수행 여부를 결정하는 단계; 및 클라우드 관리장치가, 스케일링이 수행된 복수의 포드의 가용 자원 현황을 고려하여 마이그레이션의 수행 여부를 결정하는 단계;를 포함한다. In addition, according to another embodiment of the present invention, a cloud management method includes a plurality of nodes included in a plurality of clusters and a plurality of nodes included in a plurality of clusters in which a cloud management device supports services running in a multi-collaborative container platform environment. monitoring the available resource status of the pod; Determining, by the cloud management device, whether to perform load balancing in consideration of available resource status of a plurality of pods; determining, by a cloud management device, whether to perform scaling in consideration of available resource statuses of a plurality of pods for which load balancing has been performed; and determining, by the cloud management device, whether to perform migration in consideration of available resource statuses of a plurality of pods on which scaling has been performed.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 클러스터 내 구동 중인 서비스에 대한 부하 분산(로드 밸런싱), 통합형 오토스케일링 등의 지속적 최적화 작업을 적용한 이후에도 서비스 제공이 원활하지 않을 경우 작업 이관(마이그레이션)을 결정함으로써, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 구동 중인 배포 서비스의 응답성 지연을 최소화할 수 있다.As described above, according to the embodiments of the present invention, even after applying continuous optimization tasks such as load balancing (load balancing) and integrated auto-scaling for services running in a cluster in a distributed (multiple), collaborative container platform environment. When the service provision is not smooth, it is possible to minimize the response delay of the deployment service running in the distributed (multiple), collaborative container platform environment by determining task transfer (migration).

도 1은, 본 발명의 일 실시예에 따른 클라우드 시스템의 구성의 설명에 제공된 도면,
도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼의 세부 구성 설명에 제공된 도면,
도 3은, 본 발명의 일 실시예에 따른, 클라우드 관리장치의 세부 구성 설명에 제공된 도면,
도 4 내지 도 5는, 상기 도 3에 도시된 프로세서의 세부 구성 설명에 제공된 도면,
도 6는, 상기 도 4 내지 도 5에 도시된 로드밸런싱 컨트롤러의 동작 특성 설명에 제공된 도면,
도 7 내지 도 8은, 상기 도 4 내지 도 5에 도시된 HAS 컨트롤러의 동작 특성 설명에 제공된 도면, 그리고
도 9는, 다중 협업형 컨테이너 플랫폼에서의 클라우드 관리장치를 이용하는 작업 이관을 결정하는 클라우드 관리방법의 설명에 제공된 도면이다.
1 is a diagram provided for explanation of the configuration of a cloud system according to an embodiment of the present invention;
2 is a diagram provided in a detailed configuration description of a cloud platform according to an embodiment of the present invention;
3 is a diagram provided in the description of the detailed configuration of a cloud management device according to an embodiment of the present invention;
4 to 5 are diagrams provided in the description of the detailed configuration of the processor shown in FIG. 3;
6 is a view provided for explaining the operating characteristics of the load balancing controller shown in FIGS. 4 to 5;
7 to 8 are diagrams provided for describing the operating characteristics of the HAS controller shown in FIGS. 4 to 5, and
9 is a diagram provided to explain a cloud management method for determining task transfer using a cloud management device in a multi-collaborative container platform.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

도 1은, 본 발명의 일 실시예에 따른 클라우드 시스템의 구성의 설명에 제공된 도면이다. 1 is a diagram provided to explain the configuration of a cloud system according to an embodiment of the present invention.

본 실시예에 따른 클라우드 시스템은, 컨테이너 플랫폼 환경에서 서비스 제공이 원활하지 않을 경우 작업 이관(마이그레이션)을 결정하기 위해 마련된다. The cloud system according to the present embodiment is prepared to determine task transfer (migration) when service provision is not smooth in a container platform environment.

구체적으로, 클라우드 시스템은, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 클러스터 내 구동 중인 서비스에 대한 부하 분산(로드 밸런싱), 통합형 오토스케일링 등의 지속적 최적화 작업을 적용한 이후에도 서비스 제공이 원활하지 않을 경우 작업 이관(마이그레이션)을 결정할 수 있다. Specifically, in the cloud system, in a distributed (multiple), collaborative container platform environment, if service provision is not smooth even after applying continuous optimization tasks such as load balancing (load balancing) and integrated auto-scaling for services running in a cluster You can decide to transfer your work (migration).

이를 위해, 도 1에 도시된 바와 같이, 클라우드 시스템에서, 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 관리된다. To this end, as shown in FIG. 1 , in the cloud system, the cloud platform 10 is managed by the cloud management device 100 .

구체적으로, 클라우드 관리장치(100)는 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집하여, 복수의 포드의 가용 자원 현황을 모니터링하고, 수집된 메트릭 데이터를 기반으로 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. Specifically, the cloud management device 100 provides metric data for available resources of a plurality of nodes included in a plurality of clusters and a plurality of pods included in the plurality of nodes that support services running in a multi-collaborative container platform environment. Collects data, monitors the available resource status of multiple pods, and performs continuous optimization including at least one of load balancing and scaling by considering the available resource status of multiple pods based on the collected metric data, and continuously optimizes Based on the result of the task, you can decide whether or not to perform the migration.

여기서, 클라우드 관리장치(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템 또는 클라우드의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버나 클라우드 등에 설치된 프로그램 또는 플랫폼 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 클라우드 관리장치(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다. Here, the cloud management device 100 may not only be implemented as a physically independent device itself, but may also be implemented in a form included as a part of any device, system, or cloud, and may be implemented as a smartphone, computer, server, or cloud. Of course, it may be implemented in the form of software such as a program or platform or framework or application installed on the back. In addition, each component of the cloud management device 100 may be implemented as a physical component or may be implemented as a functional component of software.

클라우드 플랫폼(10)은 복수개의 서버들로 구성되어 가상화를 통한 클라우드 서비스를 제공하는 플랫폼으로, 도커(Docker)와 쿠버네티스(Kubernetes) 등으로 구현될 수 있으며, 분산, 협업형 컨테이너 플랫폼 환경으로 구축된다. The cloud platform 10 is a platform that is composed of a plurality of servers and provides cloud services through virtualization, and can be implemented with Docker and Kubernetes, etc., and is a distributed and collaborative container platform environment. is built

도 1에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 클러스터로 구성되며, 하나의 클러스터에는 복수개의 노드가 포함된다. 그리고, 노드 내에는 적어도 하나의 포드(Pod)가 포함된다. As shown in FIG. 1 , the cloud platform 10 is composed of a plurality of clusters, and one cluster includes a plurality of nodes. And, at least one pod is included in the node.

여기에서, 클러스터(Cluster)는 여러개의 서버를 하나의 서버인 것처럼 보이도록 가상화한 것을 나타내며, 지역별로 위치되어 있을 수 있다, 구체적으로, 도 1의 클라우드 플랫폼(10)은 클러스터 1과 클러스터 2를 포함하며, 클러스터 1과 클러스터 2는 리전(region) 및 영역(zone)이 다르게 위치할 수 있다.Here, the cluster represents virtualization of several servers to appear as one server, and may be located by region. Specifically, the cloud platform 10 of FIG. 1 includes cluster 1 and cluster 2 Cluster 1 and Cluster 2 may be located in different regions and zones.

여기서, 리전은 대륙, 영역은 국가를 의미할 수 있다. Here, a region may mean a continent and an area may mean a country.

또한, 하나의 클러스터에는 복수개의 노드(Node)가 포함된다. 노드(Node)는 실제 서비스(또는 컨테이너)가 실행되는 서버 단위를 나타낸다. 노드는 서비스를 생성하고 서비스 상태를 관리하는 역할을 수행하며, 복수개의 포드(Pod)로 구성된다.Also, one cluster includes a plurality of nodes. A node represents a server unit in which an actual service (or container) is executed. A node is responsible for creating services and managing service states, and consists of a plurality of pods.

이와 같은 구조의 클라우드 플랫폼(10)은 클라우드 관리장치(100)에 의해 결정된 노드에 특정 서비스를 실행하기 위한 자원을 할당하는 기능을 수행하게 된다. The cloud platform 10 having such a structure performs a function of allocating resources for executing a specific service to a node determined by the cloud management device 100 .

또한, 클라우드 관리장치(100)는 전체 클러스터를 관리하는 마스터와 같은 기능을 수행하게 된다. 모든 명령은 마스터인 클라우드 관리장치(100)의 API 서버를 호출하고 노드는 클라우드 관리장치(100)와 통신하면서 필요한 작업을 수행한다. 특정 노드의 컨테이너에 명령하거나 로그를 조회할 때도 노드에 직접 명령하는 게 아니라 클라우드 관리장치(100)에 명령을 내리고 클라우드 관리장치(100)가 노드에 접속하여 대신 결과를 응답하게 된다. In addition, the cloud management device 100 performs the same function as a master managing the entire cluster. All commands call the API server of the master cloud management device 100, and the node performs necessary tasks while communicating with the cloud management device 100. Even when a container of a specific node is commanded or a log is retrieved, a command is given to the cloud management device 100 rather than a direct command to the node, and the cloud management device 100 connects to the node and responds with the result instead.

노드 내에는 적어도 하나의 포드(Pod)를 포함하며 이와 같은 노드의 구조에 대해 도 2를 참고하여 더욱 상세히 설명한다. 도 2는 본 발명의 일 실시예에 따른, 클라우드 플랫폼(10)의 세부 구성을 도시한 도면이다. A node includes at least one pod, and the structure of such a node will be described in more detail with reference to FIG. 2 . 2 is a diagram illustrating a detailed configuration of the cloud platform 10 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 노드(200)들을 포함하고, 노드 내에는 적어도 하나의 포드(210)를 포함하고 있다. As shown in FIG. 2 , the cloud platform 10 includes a plurality of nodes 200 and includes at least one pod 210 in the node.

노드(200)는 클라우드 관리장치(100)와 통신하면서 필요한 포드(210)를 생성하고 네트워크(215)와 스토리지(213)를 설정한다. The node 200 creates a necessary pod 210 while communicating with the cloud management device 100 and configures a network 215 and a storage 213 .

포드(210)는 가장 작은 배포단위이며, 실제 컨테이너들이 생성되는 곳이다. 포드(210)는 컨트롤러 또는 리플리카셋(ReplicaSet)에 의해 생성 및 관리되며 수백, 수천개로 확장할 수도 있다. 포드(210)는 각각에 라벨을 붙여 사용목적(GPU 특화, SSD 서버 등)을 정의할 수도 있다. 포드(210)는 쿠버네티스에서 배포할 수 있는 가장 작은 단위로 한 개 이상의 컨테이너(211)와 스토리지(213)와 네트워크(215) 속성을 가진다. 포드(210)에 속한 적어도 하나의 컨테이너(211)는 스토리지(213)와 네트워크(215)를 공유하고 서로 로컬호스트(localhost)로 접근할 수 있다. Pod 210 is the smallest deployment unit, and is where the actual containers are created. Pods 210 are created and managed by a controller or ReplicaSet, and may be expanded to hundreds or thousands. The pod 210 may define a purpose of use (GPU-specific, SSD server, etc.) by attaching a label to each. A pod 210 is the smallest unit that can be deployed in Kubernetes and has one or more container 211, storage 213, and network 215 attributes. At least one container 211 belonging to the pod 210 can share the storage 213 and the network 215 and access each other through a localhost.

클라우드 플랫폼(10)은 이와 같은 구조의 복수개의 클러스터, 노드 및 포드를 포함하게 된다. The cloud platform 10 includes a plurality of clusters, nodes, and pods having such a structure.

이하에서는, 도 3을 참고하여, 클라우드 관리장치(100)의 구성에 대해 더욱 상세히 설명한다. 도 3은 본 발명의 일 실시예에 따른, 클라우드 관리장치(100)를 도시한 도면이다. Hereinafter, the configuration of the cloud management device 100 will be described in more detail with reference to FIG. 3 . 3 is a diagram illustrating a cloud management device 100 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 클라우드 관리장치(100)는 통신부(110), 프로세서(120) 및 저장부(130)를 포함할 수 있다. As shown in FIG. 3 , the cloud management device 100 may include a communication unit 110 , a processor 120 and a storage unit 130 .

통신부(110)는 프로세서(120)가 동작함에 있어 필요한 데이터들을 송수신하기 위한 통신 수단으로서, 무선 통신 방식 또는 유선 통신 방식으로 통신을 수행할 수 있다. The communication unit 110 is a communication means for transmitting and receiving data necessary for the processor 120 to operate, and may perform communication in a wireless communication method or a wired communication method.

구체적으로, 통신부(110)는 클라우드 플랫폼(10)과 통신 가능하도록 연결되며, 특정 서비스에 대한 자원 할당 요청을 수신한다. 여기에서 특정 서비스에 대한 자원 할당 요청은 해당 서비스에 필요한 자원 등에 대한 정보가 포함되어 있으며, 구체적으로, 특정 서비스에 대한 자원 할당 요청은 API 버전정보, 종류 정보, 라벨 정보, CPU 필요량, 메모리 필요량, 스토리지 필요량, 정책 정보, 장애 발생 횟수에 대한 제한, 및 지역 정보 중 적어도 하나를 포함할 수 있다. 또한, 특정 서비스에 대한 자원 할당 요청은 자원 종류별 가중치에 대한 정보를 더 포함할 수도 있다. Specifically, the communication unit 110 is communicatively connected to the cloud platform 10 and receives a resource allocation request for a specific service. Here, the resource allocation request for a specific service includes information on resources necessary for the service. Specifically, the resource allocation request for a specific service includes API version information, type information, label information, CPU requirements, memory requirements, It may include at least one of a storage requirement, policy information, a limit on the number of failure occurrences, and region information. In addition, the resource allocation request for a specific service may further include information about a weight for each resource type.

그리고 통신부(110)는, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집할 수 있다. In addition, the communication unit 110 may collect metric data on available resources of a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes. there is.

저장부(130)는, 프로세서(130)가 동작함에 있어 필요한 프로그램 및 데이터를 저장하는 저장매체이다. The storage unit 130 is a storage medium that stores programs and data necessary for the processor 130 to operate.

프로세서(120)는, 클라우드 관리장치(100)의 전반적인 동작을 제어한다. The processor 120 controls the overall operation of the cloud management device 100 .

프로세서(120)는, 마스터 클러스터(OpenMCP Cluster) 역할을 수행하며, 메트릭 데이터를 기반으로 포드의 가용 자원 현황을 모니터링하고, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. The processor 120 serves as a master cluster (OpenMCP Cluster), monitors the available resource status of pods based on metric data, and includes at least one of load balancing and scaling in consideration of the available resource status of a plurality of pods Based on the result of continuous optimization, it is possible to decide whether or not to perform migration.

즉, 프로세서(120)는, 메트릭 데이터를 기반으로 포드의 가용 자원 현황을 모니터링하고, 하나 이상의 포드에 과부화가 발생하는 경우, 로드 밸런싱을 수행하되, 이후에도 기설정된 임계치 이상의 서비스의 응답 지연 또는 작업 지연이 발생하는 경우, 과부화가 발생하는 포드를 대상으로 스케일링을 수행하고, 로드 밸런싱과 스케일링 작업을 수행했음에도, 서비스의 응답 지연 또는 작업 지연이 감소되지 않으면, 서비스를 지원하기 위해 연동 중인 클러스터 중 가용 자원이 가장 많은(자원 사용률이 가장 낮은) 노드를 포함하는 클러스터를 마이그레이션 대상으로 선택하여 클러스터 간 마이그레이션을 수행할 수 있다. That is, the processor 120 monitors the available resource status of the pods based on the metric data, and performs load balancing when overload occurs in one or more pods, but even after that, service response delays or work delays greater than a predetermined threshold value If this occurs, if the response delay or task delay of the service is not reduced even after performing scaling for overloaded pods and performing load balancing and scaling, You can perform cross-cluster migration by selecting the cluster that has the most nodes (with the lowest resource utilization) as the migration target.

도 4 내지 도 5는, 상기 도 3에 도시된 프로세서의 세부 구성 설명에 제공된 도면이다. 4 and 5 are diagrams provided to explain the detailed configuration of the processor shown in FIG. 3 .

도 4 내지 도 5를 참조하면, 프로세서(120)는, 마스터 클러스터(OpenMCP Cluster) 역할을 수행하며, 메트릭 데이터를 기반으로 포드의 가용 자원 현황을 모니터링하고, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하기 위해, 제1 분석 엔진(121), 로드밸런싱 컨트롤러(122), 제2 분석 엔진(123), HAS 컨트롤러(124), 제3 분석 엔진(125) 및 스케줄러(126)를 포함할 수 있다. 4 to 5, the processor 120 serves as a master cluster (OpenMCP Cluster), monitors the available resource status of pods based on metric data, and considers the available resource status of a plurality of pods. A first analysis engine 121, a load balancing controller 122, in order to perform a continuous optimization task including at least one of load balancing and scaling, and to determine whether to perform a migration based on a result of performing the continuous optimization task, It may include a second analysis engine 123 , a HAS controller 124 , a third analysis engine 125 and a scheduler 126 .

제1 분석 엔진(121)은, 복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정할 수 있다. The first analysis engine 121 may determine whether load balancing of services is performed in consideration of available resource conditions of a plurality of pods.

구체적으로, 제1 분석 엔진(121)은, 포드별 과부하 발생 여부를 판단하여, 제1 포드에 과부화가 발생되면, 과부화가 발생된 제1 포드를 대상으로 로드 밸런싱을 수행하도록 결정할 수 있다. In detail, the first analysis engine 121 may determine whether overload occurs for each pod, and if overload occurs in the first pod, it may be determined to perform load balancing for the overloaded first pod.

로드밸런싱 컨트롤러(122)는, 로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하기 위해 마련된다. The load balancing controller 122 is provided to perform load balancing of services according to a result of determining whether to perform load balancing.

제2 분석 엔진(123)은, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정할 수 있다. The second analysis engine 123 may determine whether or not to perform scaling in consideration of available resource statuses of a plurality of pods for which load balancing has been performed.

구체적으로, 제2 분석 엔진(123)은, 로드 밸런싱이 수행된 이후, 포드별 과부화 발생 여부를 판단하여, 제2 포드에 과부화가 발생되면, 과부화가 발생된 제2 포드를 대상으로 스케일링을 수행하도록 결정할 수 있다. Specifically, after load balancing is performed, the second analysis engine 123 determines whether overload has occurred for each pod, and if overload occurs in the second pod, scaling is performed targeting the second pod where the overload has occurred. can decide to do it.

HAS 컨트롤러(124)는, 스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하기 위해 마련된다. The HAS controller 124 is provided to scale the resources of a specific pod according to a result of determining whether to perform scaling.

제3 분석 엔진(125)은, 스케일링된 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. The third analysis engine 125 may determine whether to perform migration based on the scaled result.

스케줄러(126)는 마이그레이션의 수행 여부의 결정 결과에 따라 마이그레이션을 수행할 수 있다. The scheduler 126 may perform migration according to a result of determining whether to perform migration.

구체적으로, 스케줄러(126)는, 예측 모델을 이용하여 연동 중인 하나 이상의 클러스터에 포함된 복수의 노드에 대한 미래 시점에서의 자원 사용률을 예측하고, 예측 결과를 기반으로 자원 사용률이 기설정된 임계치 이상 증가하는 노드를 필터링하고, 남은 노드 중 자원 사용률이 가장 낮은 노드를 포함하는 클러스터를 마이그레이션 대상 클러스터로 선택하여, 마이그레이션을 수행할 수 있다. Specifically, the scheduler 126 predicts resource utilization at a future time point for a plurality of nodes included in one or more interlocking clusters using a predictive model, and based on the prediction result, the resource utilization rate increases above a preset threshold. Migration can be performed by filtering the nodes that need to be migrated, and selecting the cluster that includes the node with the lowest resource utilization among the remaining nodes as the migration target cluster.

도 6는, 상기 도 4 내지 도 5에 도시된 로드밸런싱 컨트롤러(122)의 동작 특성 설명에 제공된 도면이다. FIG. 6 is a diagram provided for explaining the operating characteristics of the load balancing controller 122 shown in FIGS. 4 to 5 .

도 6을 참조하면, 로드밸런싱 컨트롤러(122)는, 제1 포드를 대상으로 로드 밸런싱을 수행하기로 결정되면, 서비스별 보유 클러스터를 분류하고, 제1 포드가 지원하는 서비스를 보유하는 클러스터에 포함된 복수의 포드들 각각의 가용 자원 현황 및 서비스를 보유하는 클러스터별 지리적 근접도에 대한 점수를 산출하고, 점수 산출 결과를 기반으로 로드 밸런싱을 수행할 수 있다. Referring to FIG. 6 , when it is determined to perform load balancing for the first pod, the load balancing controller 122 classifies clusters for each service and includes them in clusters that have services supported by the first pod. A score for the available resource status of each of the plurality of pods and the geographic proximity of each cluster having services may be calculated, and load balancing may be performed based on the score calculation result.

구체적으로, 로드밸런싱 컨트롤러(122)는, 클러스터별 지리적 근접도에 대한 점수 산출 시, 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출할 수 있다. Specifically, the load balancing controller 122 extracts geographical information to which the client belongs from the client IP of the service when calculating the score for geographical proximity for each cluster, compares the extraction result with the geographical information of each selected cluster, Depending on whether countries and continents are identical, a score for geographical proximity can be calculated.

또한, 로드밸런싱 컨트롤러(122)는, 포드별 가용 자원 현황에 대한 점수 산출 시, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출할 수 있다. In addition, the load balancing controller 122 may calculate scores for available resources including CPU resources and memory resources for each cluster when calculating scores for available resource status for each pod.

그리고 로드밸런싱 컨트롤러(122)는, 포드별 가용 자원 현황 및 클러스터별 지리적 근접도에 대한 점수가 산출되면, 연합 클러스터 내 지리적으로 가깝고 자원 현황이 좋은 클러스터를 이용하여 제1 포드가 지원하는 서비스를 지원하기 위해, 로드 밸런싱을 수행할 수 있다. In addition, the load balancing controller 122 supports a service supported by the first pod by using a cluster that is geographically close to the federated cluster and has a good resource status when scores for available resource status for each pod and geographical proximity for each cluster are calculated To do this, load balancing can be performed.

도 7 내지 도 8은, 상기 도 4 내지 도 5에 도시된 HAS 컨트롤러(124)의 동작 특성 설명에 제공된 도면이다. 7 to 8 are diagrams provided to describe the operating characteristics of the HAS controller 124 shown in FIGS. 4 to 5.

도 7 내지 도 8을 참조하면, HAS 컨트롤러(124)는, 스케일링을 하기로 결정되면, 제2 포드의 자원을 스케일링하는 방식을 결정하고, 결정된 방식에 따라 제2 포드의 자원을 스케일링할 수 있다. 여기서, 제2 포드는, 특정 포드에 한정되지 아니하고, 가용 자원 현황에 따라 로드 밸런싱의 대상이 되는 제1 포드와 동일한 포드이거나 또는 다른 포드일 수 있다. 7 to 8 , if scaling is determined, the HAS controller 124 may determine a method for scaling resources of the second pod and scale the resources of the second pod according to the determined method. . Here, the second pod is not limited to a specific pod, and may be the same pod as the first pod or a different pod to be load-balanced according to the current state of available resources.

HAS 컨트롤러(124)는, 포드의 CPU나 메모리 등의 자체 자원을 증가시키는 방법으로 수직 스케일링(Vertical Pod Auto-scaler, VPA)을 할 수 있으며, 포드와 동일한 복제 포드를 생성함으로써 수평 스케일링(Horizontal Pod Auto-Scaler, HPA)을 할 수도 있다. The HAS controller 124 can perform vertical scaling (Vertical Pod Auto-scaler, VPA) by increasing its own resources such as CPU or memory of the pod, and horizontal scaling (Horizontal Pod Auto-Scaler, HPA) can also be performed.

HAS 컨트롤러(124)는, 이 두 가지 방법을 동시에 수행하는 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA)으로 스케일링을 할 수도 있다. The HAS controller 124 may perform scaling by hybrid scaling (Hybrid Pod Auto-Scaler, Hybrid-PA) that simultaneously performs these two methods.

예를 들면, HAS 컨트롤러(124)는, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 작은 경우, 수직 스케일링(Vertical Pod Auto-scaler, VPA) 방식을 적용하여 제2 포드에 할당된 자원을 증가시킬 수 있다. For example, the HAS controller 124 applies a Vertical Pod Auto-scaler (VPA) method when the free resources of the node including the second pod are smaller than the resources allocated to the second pod, and You can increase the resources allocated to the Pod.

구체적으로, HAS 컨트롤러(124)는, 제2 포드에 할당된 CPU의 갯수를 증가시키거나 또는 메모리의 용량을 증가시키는 방식 등으로 제2 포드에 할당된 자원을 증가시킬 수 있다. Specifically, the HAS controller 124 may increase the resources allocated to the second pod by increasing the number of CPUs allocated to the second pod or increasing the capacity of memory.

또한, HAS 컨트롤러(124)는, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 크거나 같은 경우, 수평 스케일링(Horizontal Pod Auto-Scaler, HPA) 방식을 적용하여, 제2 포드와 동일한 포드를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정함으로써, 제2 포드의 자원을 스케일링할 수 있다. In addition, the HAS controller 124 applies a horizontal scaling (Horizontal Pod Auto-Scaler, HPA) method when the free resources of the node including the second pod are greater than or equal to the resources allocated to the second pod, By replicating a pod identical to the 2 pods, creating a replica pod in a corresponding node, and configuring the secondary pod and the replica pod to perform the same service, resources of the second pod may be scaled.

예를 들면, HAS 컨트롤러(124)는, 도 8에 예시된 바와 같이 클러스터 1에 할당된 가용 자원의 최대 값 리밸런싱이 필요한 경우, 스케일링 하기로 결정하여, 클러스터 1과 동일한 서비스를 지원하는 클러스터 2 및 클러스터 3 중에 가용 자원 용량이 더 많은 클러스터 2로부터 최대 값을 받아올 수 있다. 이때, 클러스터 1의 맥스 값이 1 증가하여 8이 되고, 클러스터 2의 맥스 값은 1 감소하여 4가 된 것을 확인할 수 있다. For example, as illustrated in FIG. 8 , the HAS controller 124 determines to scale when rebalancing of the maximum value of available resources allocated to cluster 1 is required, and cluster 2 supporting the same service as cluster 1 And among cluster 3, the maximum value may be obtained from cluster 2 having more available resource capacity. At this time, it can be confirmed that the max value of cluster 1 increases by 1 to become 8, and the max value of cluster 2 decreases by 1 to become 4.

이후, HAS 컨트롤러(124)는, 맥스 값이 증가한 클러스터 1에 제2 포드와 동일한 포드 1개를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정할 수 있다. Thereafter, the HAS controller 124 replicates one pod identical to the second pod in cluster 1 where the max value is increased, creates a clone pod in the corresponding node, and configures the second pod and the clone pod to perform the same service. there is.

이와 같이 수평 스케일링 방식을 적용하는 경우에는, 포드를 복제하여 동일한 서비스를 수행하게 하는 것은 매우 간단하며 이미 서비스 중인 특정 포드를 중단시키지 않아도 되기 때문에, HAS 컨트롤러(124)는, 이와 같은 방식으로 스케일링을 수행할 경우, 무중단으로 안정적으로 스케일링을 할 수 있다. In the case of applying the horizontal scaling method in this way, since it is very simple to replicate pods to perform the same service and it is not necessary to stop a specific pod that is already in service, the HAS controller 124 scales in this way. If this is done, scaling can be performed stably and without interruption.

그리고 HAS 컨트롤러(124)는, 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA) 방식을 적용하여, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 큰 경우, 제2 포드와 동일한 포드를 복제하여 복제 포드를 생성하고, 제2 포드에 할당된 자원과 복제 포드에 할당된 자원을 각각 더 증가시키며, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정할 수 있다.In addition, the HAS controller 124 applies a hybrid scaling (Hybrid Pod Auto-Scaler, Hybrid-PA) method, and when the spare resources of the node including the second pod are greater than the resources allocated to the second pod, the second A duplicate pod may be created by replicating the same pod as the pod, resources allocated to the second pod and resources allocated to the duplicate pod may be further increased, and the second pod and the duplicate pod may perform the same service.

예를 들면, HAS 컨트롤러(124)는, 제2 포드에 과부하가 걸릴 뿐만 아니라 관련 서비스가 고화질 영상 처리 서비스 등으로 대용량의 자원이 필요한 경우, 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA) 방식을 적용하여, 포드의 자원도 증가시키면서 포드를 복제도 함께 할 수 있다. 이를 통해, 과부하가 걸린 제2 포드가 더욱 빠른 서비스를 수행할 수 있는 환경을 제공할 수 있다. For example, the HAS controller 124 uses a hybrid scaling (Hybrid Pod Auto-Scaler, Hybrid-PA) method when the second pod is overloaded and the related service requires a large amount of resources such as a high-definition video processing service. By applying , it is possible to replicate the pod while increasing the resource of the pod. Through this, an environment in which the overloaded second pod can perform faster service can be provided.

한편, HAS 컨트롤러(124)는 수평 스케일링(HPA) 및 수직 스케일링(VPA)을 수행한 이후에도 지속적으로 포드를 감시할 수 있다. Meanwhile, the HAS controller 124 may continuously monitor the pod even after performing horizontal scaling (HPA) and vertical scaling (VPA).

도 9는, 다중 협업형 컨테이너 플랫폼에서의 클라우드 관리장치를 이용하는 작업 이관을 결정하는 클라우드 관리방법의 설명에 제공된 도면이다. 9 is a diagram provided to explain a cloud management method for determining task transfer using a cloud management device in a multi-collaborative container platform.

본 실시예에 따른 클라우드 관리장치를 이용하는 작업 이관을 결정하는 클라우드 관리방법(이하에서는 '클라우드 관리방법'으로 총칭하기로 함)은, 도 1 내지 도 8을 참조하여 전술한 클라우드 관리장치(100)를 이용하여 실행될 수 있다. A cloud management method (hereinafter, collectively referred to as a 'cloud management method') for determining job transfer using a cloud management apparatus according to the present embodiment is the cloud management apparatus 100 described above with reference to FIGS. 1 to 8 can be executed using

도 9를 참조하면, 클라우드 관리방법은, 클라우드 관리장치(100)를 통해, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집하여 복수의 포드의 가용 자원 현황을 모니터링할 수 있다(S910). Referring to FIG. 9, the cloud management method includes a plurality of nodes included in a plurality of clusters and a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment through the cloud management device 100. It is possible to monitor the available resource status of a plurality of pods by collecting metric data on available resources of the pods (S910).

클라우드 관리방법은, 가용 자원 현황에 대한 모니터링 과정 중 특정 노드에서 과부하가 발생되면, 복수의 포드의 가용 자원 현황을 고려하여 과부하가 발생된 포드를 대상으로 로드 밸런싱의 수행 여부를 결정하고, 결정 결과에 따라 로드 밸런싱을 수행할 수 있다(S920). In the cloud management method, when an overload occurs in a specific node during the process of monitoring the available resource status, it is determined whether or not to perform load balancing for the overloaded pod in consideration of the available resource status of a plurality of pods. Load balancing may be performed according to (S920).

그리고 클라우드 관리방법은, 이후, 다시 서비스 제공이 원활한지 확인하기 위해, 가용 자원 현황에 대한 모니터링을 수행하며, 재차 포드별 과부하 발생 여부를 확인할 수 있다. Further, in the cloud management method, in order to check whether service provision is smooth again, monitoring of the available resource status is performed, and it is possible to check again whether an overload occurs for each pod.

즉, 클라우드 관리방법은, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링의 수행 여부를 결정하고, 결정 결과에 따라 과부하가 발생된 포드의 자원을 스케일링할 수 있다(S930). That is, the cloud management method may determine whether or not to perform scaling in consideration of the available resource status of a plurality of pods on which load balancing has been performed, and scale the resources of overloaded pods according to the determination result (S930).

또한, 클라우드 관리방법은, 스케일링 작업을 완료한 이후에도, 서비스 제공이 원활하지 않을 경우, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링의 수행 여부를 결정하고, 결정 결과에 따라 다른 클러스터를 마이그레이션 대상 클러스터로 선택하여 클러스터 간 마이그레이션을 수행할 수 있다(S940). In addition, the cloud management method determines whether or not to perform scaling in consideration of the available resource status of a plurality of pods on which load balancing has been performed when service provision is not smooth even after completing the scaling operation, and determines whether or not to perform scaling according to the decision result. Migration between clusters may be performed by selecting a cluster as a migration target cluster (S940).

이를 통해, 분산(다중), 협업형 컨테이너 플랫폼 환경에서 구동 중인 배포 서비스의 응답성 지연을 최소화할 수 있다.Through this, it is possible to minimize the response delay of deployment services running in a distributed (multiple), collaborative container platform environment.

한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.Meanwhile, it goes without saying that the technical spirit of the present invention can also be applied to a computer-readable recording medium containing a computer program for performing the functions of the apparatus and method according to the present embodiment. In addition, technical ideas according to various embodiments of the present invention may be implemented in the form of computer readable codes recorded on a computer readable recording medium. The computer-readable recording medium may be any data storage device that can be read by a computer and store data. For example, the computer-readable recording medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, etc., of course. In addition, computer-readable codes or programs stored on a computer-readable recording medium may be transmitted through a network connected between computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

10 : 클라우드 플랫폼
100 : 클라우드 관리장치
110 : 통신부
120 : 프로세서
121 : 제1 분석 엔진
122 : 로드밸런싱 컨트롤러
123 : 제2 분석 엔진
124 : HAS(Hybrid Auto Scaling) 컨트롤러
125 : 제3 분석 엔진
126 : 스케줄러
130 : 저장부
200 ; 노드
210 : 포드
211 : 컨테이너
212 : 스토리지
213 : 네트워크
10: Cloud platform
100: cloud management device
110: Communication Department
120: processor
121: first analysis engine
122: load balancing controller
123: second analysis engine
124: HAS (Hybrid Auto Scaling) controller
125: third analysis engine
126: Scheduler
130: storage unit
200; node
210: Ford
211: container
212: Storage
213: Network

Claims (12)

클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계;
클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하는 단계; 및
클라우드 관리장치가, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 단계;를 포함하는 클라우드 관리방법.
Monitoring, by a cloud management device, the status of available resources of a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes;
Performing, by a cloud management device, a continuous optimization task including at least one of load balancing and scaling in consideration of available resource status of a plurality of pods; and
A cloud management method comprising: determining, by a cloud management device, whether to perform migration based on a result of performing a continuous optimization task.
청구항 1에 있어서,
지속적 최적화 작업을 수행하는 단계는,
복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 단계;
로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하는 단계;
로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정하는 단계; 및
스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하는 단계;를 포함하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 1,
The steps to perform continuous optimization are:
Determining whether to perform load balancing of services in consideration of available resource status of a plurality of pods;
performing load balancing of services according to a result of determining whether to perform load balancing;
determining whether scaling is performed in consideration of available resource status of a plurality of pods on which load balancing is performed; and
Scaling a resource of a specific pod according to a result of determining whether to perform scaling; a cloud management method comprising:
청구항 2에 있어서,
클라우드 관리장치는,
복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 제1 분석 엔진;
로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하는 로드밸런싱 컨트롤러;
로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정하는 제2 분석 엔진;
스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하는 HAS(Hybrid Auto Scaling) 컨트롤러;
스케일링된 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 제3 분석 엔진; 및
마이그레이션의 수행 여부의 결정 결과에 따라 마이그레이션을 수행하는 스케줄러;를 포함하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 2,
Cloud management device,
a first analysis engine that determines whether service load balancing is performed in consideration of available resource conditions of a plurality of pods;
a load balancing controller that performs load balancing of services according to a result of determining whether to perform load balancing;
a second analysis engine that determines whether to perform scaling in consideration of available resource conditions of a plurality of pods on which load balancing has been performed;
A HAS (Hybrid Auto Scaling) controller that scales resources of a specific pod according to a result of determining whether or not to perform scaling;
a third analysis engine that determines whether to perform migration based on the scaled result; and
A scheduler that performs migration according to a result of determining whether to perform migration; a cloud management method comprising:
청구항 3에 있어서,
제1 분석 엔진은,
포드별 과부하 발생 여부를 판단하여, 제1 포드에 과부화가 발생되면, 과부화가 발생된 제1 포드를 대상으로 로드 밸런싱을 수행하도록 결정하고,
로드밸런싱 컨트롤러는,
제1 포드를 대상으로 로드 밸런싱을 수행하기로 결정되면, 서비스별 보유 클러스터를 분류하고, 제1 포드가 지원하는 서비스를 보유하는 클러스터에 포함된 복수의 포드들 각각의 가용 자원 현황 및 서비스를 보유하는 클러스터별 지리적 근접도에 대한 점수를 산출하고, 점수 산출 결과를 기반으로 로드 밸런싱을 수행하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 3,
The first analysis engine,
Determining whether overload occurs for each pod, and when overload occurs in a first pod, determines to perform load balancing for the first pod in which overload occurs;
The load balancing controller is
When it is determined to perform load balancing for the first pod, the clusters for each service are classified, and the available resource status and service of each of the plurality of pods included in the cluster having the service supported by the first pod is maintained. A cloud management method characterized by calculating a score for geographical proximity of each cluster and performing load balancing based on the score calculation result.
청구항 4에 있어서,
로드밸런싱 컨트롤러는,
클러스터별 지리적 근접도에 대한 점수 산출 시, 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 4,
The load balancing controller is
When calculating the score for geographic proximity by cluster, geographic information to which the client belongs is extracted from the client IP of the service, and the extraction result is compared with geographic information of each selected cluster. Cloud management method characterized in that for calculating the score.
청구항 4에 있어서,
로드밸런싱 컨트롤러는,
포드별 가용 자원 현황에 대한 점수 산출 시, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 4,
The load balancing controller is
A cloud management method comprising calculating scores for available resources including CPU resources and memory resources for each cluster when calculating scores for the current state of available resources for each pod.
청구항 3에 있어서,
제2 분석 엔진은,
로드 밸런싱이 수행된 이후, 포드별 과부화 발생 여부를 판단하여, 제2 포드에 과부화가 발생되면, 과부화가 발생된 제2 포드를 대상으로 스케일링을 수행하도록 결정하고,
HAS 컨트롤러는,
스케일링을 하기로 결정되면, 제2 포드의 자원을 스케일링하는 방식을 결정하고, 결정된 방식에 따라 제2 포드의 자원을 스케일링하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 3,
The second analysis engine,
After load balancing is performed, it is determined whether each pod is overloaded, and if the second pod is overloaded, it is determined to perform scaling for the overloaded second pod;
HAS controller,
If scaling is determined, a method for scaling resources of the second pod is determined, and resources of the second pod are scaled according to the determined method.
청구항 7에 있어서,
HAS 컨트롤러는,
제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 작은 경우, 제2 포드에 할당된 자원을 증가시킴으로써, 제2 포드의 자원을 스케일링하고,
제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 크거나 같은 경우, 제2 포드와 동일한 포드를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정함으로써, 제2 포드의 자원을 스케일링하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 7,
HAS controller,
Scaling the resources of the second pod by increasing the resources allocated to the second pod when the free resources of the node including the second pod are smaller than the resources allocated to the second pod;
When the free resources of the node including the second pod are greater than or equal to the resources allocated to the second pod, a pod identical to the second pod is cloned to create a clone pod in the corresponding node, and the second pod and the clone pod are identical. A cloud management method comprising scaling resources of a second pod by setting a service to be performed.
청구항 3에 있어서,
스케줄러는,
예측 모델을 이용하여 연동 중인 하나 이상의 클러스터에 포함된 복수의 노드에 대한 미래 시점에서의 자원 사용률을 예측하고, 예측 결과를 기반으로 자원 사용률이 기설정된 임계치 이상 증가하는 노드를 필터링하고,
남은 노드 중 자원 사용률이 가장 낮은 노드를 포함하는 클러스터를 마이그레이션 대상 클러스터로 선택하여, 마이그레이션을 수행하는 것을 특징으로 하는 클라우드 관리방법.
The method of claim 3,
scheduler,
Using a predictive model, resource utilization rates of a plurality of nodes included in one or more interlocking clusters are predicted at a future point in time, and nodes whose resource utilization rates increase above a preset threshold value are filtered based on the prediction results,
A cloud management method comprising selecting a cluster including a node with the lowest resource utilization among remaining nodes as a migration target cluster and performing migration.
클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계;
클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하는 단계; 및
클라우드 관리장치가, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 단계;를 포함하는 클라우드 관리방법이 수행되는 컴퓨터 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체.
Monitoring, by a cloud management device, the status of available resources of a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes;
Performing, by a cloud management device, a continuous optimization task including at least one of load balancing and scaling in consideration of available resource status of a plurality of pods; and
A computer-readable recording medium containing a computer program on which a cloud management method is performed, including determining, by a cloud management device, whether migration is to be performed based on the performance result of the continuous optimization task.
다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집하는 통신부; 및
수집된 메트릭 데이터를 기반으로 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정하는 프로세서;를 포함하는 클라우드 관리장치.
A communication unit that collects metric data on available resources of a plurality of nodes included in a plurality of clusters and a plurality of pods included in the plurality of nodes that support services running in a multi-collaborative container platform environment; and
Based on the collected metric data, a continuous optimization task including at least one of load balancing and scaling is performed in consideration of the available resource status of multiple pods, and migration is determined based on the result of the continuous optimization task. A cloud management device including a processor;
클라우드 관리장치가, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원 현황을 모니터링하는 단계;
클라우드 관리장치가, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱의 수행 여부를 결정하는 단계;
클라우드 관리장치가, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링의 수행 여부를 결정하는 단계; 및
클라우드 관리장치가, 스케일링이 수행된 복수의 포드의 가용 자원 현황을 고려하여 마이그레이션의 수행 여부를 결정하는 단계;를 포함하는 클라우드 관리방법.
Monitoring, by a cloud management device, the status of available resources of a plurality of nodes included in a plurality of clusters supporting services running in a multi-collaborative container platform environment and a plurality of pods included in the plurality of nodes;
Determining, by the cloud management device, whether to perform load balancing in consideration of available resource status of a plurality of pods;
determining, by a cloud management device, whether to perform scaling in consideration of available resource statuses of a plurality of pods for which load balancing has been performed; and
A cloud management method comprising: determining, by a cloud management device, whether to perform migration in consideration of available resource statuses of a plurality of pods on which scaling has been performed.
KR1020210155565A 2021-11-12 2021-11-12 Method for determining of task transfer in multi-collaborative container platform KR20230069487A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210155565A KR20230069487A (en) 2021-11-12 2021-11-12 Method for determining of task transfer in multi-collaborative container platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210155565A KR20230069487A (en) 2021-11-12 2021-11-12 Method for determining of task transfer in multi-collaborative container platform

Publications (1)

Publication Number Publication Date
KR20230069487A true KR20230069487A (en) 2023-05-19

Family

ID=86546758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210155565A KR20230069487A (en) 2021-11-12 2021-11-12 Method for determining of task transfer in multi-collaborative container platform

Country Status (1)

Country Link
KR (1) KR20230069487A (en)

Similar Documents

Publication Publication Date Title
KR102154446B1 (en) Method for fast scheduling for resource balanced allocation on distributed and collaborative container platform environment
US11226846B2 (en) Systems and methods of host-aware resource management involving cluster-based resource pools
CN110134495B (en) Container cross-host online migration method, storage medium and terminal equipment
KR102245341B1 (en) Method for apply predictive model for workload distribution within the cloud edge
WO2018076791A1 (en) Resource load balancing control method and cluster scheduler
KR102101120B1 (en) Resource allocation method for virtualized network function based on user grouping
US10289441B1 (en) Intelligent scale-out federated restore
KR20150054998A (en) Method and apparatus for automated deployment of geographically distributed applications within a cloud
US20130326038A1 (en) Management of datacenters for fault tolerance and bandwidth
US20220078231A1 (en) Load balancing method based on resource utilization and geographic location in associative container environment
CN112764920B (en) Edge application deployment method, device, equipment and storage medium
EP3117315A1 (en) Management of resource allocation in a mobile telecommunication network
KR102650892B1 (en) Apparatus for container orchestration in geographically distributed multi cloud environment and method using the same
US20220075665A1 (en) Scheduling method for selecting optimal cluster within cluster of distributed collaboration type
JP5675471B2 (en) Data center system management method, data center system, and management apparatus
KR101256918B1 (en) Method for enhancing scalability and availability of cloud services and the system thereby
CN102480502A (en) I/O load equilibrium method and I/O server
US11314559B2 (en) Method for balanced scale out of resources in distributed and collaborative container platform environment
CN108200151B (en) ISCSI Target load balancing method and device in distributed storage system
CN109815204A (en) A kind of metadata request distribution method and equipment based on congestion aware
KR102320317B1 (en) Method for selecting predict-based migration candidate and target on cloud edge
JP2011209811A (en) Virtual machine system and virtual machine arrangement method
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform
KR20230069487A (en) Method for determining of task transfer in multi-collaborative container platform
JP5997659B2 (en) Distributed processing system and distributed processing method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal