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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000012546 transfer Methods 0.000 title abstract description 10
- 238000007726 management method Methods 0.000 claims abstract description 77
- 238000013508 migration Methods 0.000 claims abstract description 36
- 230000005012 migration Effects 0.000 claims abstract description 36
- 238000005457 optimization Methods 0.000 claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 9
- 238000004458 analytical method Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 13
- 238000013468 resource allocation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008685 targeting Effects 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task 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
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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/4557—Distribution 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.
Description
본 발명은 클라우드 관리방법 및 장치에 관한 것으로, 더욱 상세하게는 컨테이너 플랫폼 환경에서 작업의 이관(마이그레이션) 여부를 결정하는 클라우드 관리방법 및 장치에 관한 것이다.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
구체적으로, 클라우드 관리장치(100)는 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집하여, 복수의 포드의 가용 자원 현황을 모니터링하고, 수집된 메트릭 데이터를 기반으로 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. Specifically, the
여기서, 클라우드 관리장치(100)는 그 자체로 물리적으로 독립된 장치로 구현될 수 있을 뿐만 아니라, 어떤 장치나 시스템 또는 클라우드의 일부로 포함되어 있는 형태로 구현될 수도 있으며, 스마트폰이나 컴퓨터나 서버나 클라우드 등에 설치된 프로그램 또는 플랫폼 또는 프레임워크 또는 애플리케이션 등의 소프트웨어 형태로 구현될 수도 있음은 물론이다. 또한, 클라우드 관리장치(100)의 각 구성요소는 물리적 구성요소로 구현될 수도 있고 소프트웨어의 기능 형태의 구성요소로 구현될 수도 있다. Here, the
클라우드 플랫폼(10)은 복수개의 서버들로 구성되어 가상화를 통한 클라우드 서비스를 제공하는 플랫폼으로, 도커(Docker)와 쿠버네티스(Kubernetes) 등으로 구현될 수 있으며, 분산, 협업형 컨테이너 플랫폼 환경으로 구축된다. The
도 1에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 클러스터로 구성되며, 하나의 클러스터에는 복수개의 노드가 포함된다. 그리고, 노드 내에는 적어도 하나의 포드(Pod)가 포함된다. As shown in FIG. 1 , the
여기에서, 클러스터(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
여기서, 리전은 대륙, 영역은 국가를 의미할 수 있다. 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
또한, 클라우드 관리장치(100)는 전체 클러스터를 관리하는 마스터와 같은 기능을 수행하게 된다. 모든 명령은 마스터인 클라우드 관리장치(100)의 API 서버를 호출하고 노드는 클라우드 관리장치(100)와 통신하면서 필요한 작업을 수행한다. 특정 노드의 컨테이너에 명령하거나 로그를 조회할 때도 노드에 직접 명령하는 게 아니라 클라우드 관리장치(100)에 명령을 내리고 클라우드 관리장치(100)가 노드에 접속하여 대신 결과를 응답하게 된다. In addition, the
노드 내에는 적어도 하나의 포드(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
도 2에 도시된 바와 같이, 클라우드 플랫폼(10)은 복수개의 노드(200)들을 포함하고, 노드 내에는 적어도 하나의 포드(210)를 포함하고 있다. As shown in FIG. 2 , the
노드(200)는 클라우드 관리장치(100)와 통신하면서 필요한 포드(210)를 생성하고 네트워크(215)와 스토리지(213)를 설정한다. The
포드(210)는 가장 작은 배포단위이며, 실제 컨테이너들이 생성되는 곳이다. 포드(210)는 컨트롤러 또는 리플리카셋(ReplicaSet)에 의해 생성 및 관리되며 수백, 수천개로 확장할 수도 있다. 포드(210)는 각각에 라벨을 붙여 사용목적(GPU 특화, SSD 서버 등)을 정의할 수도 있다. 포드(210)는 쿠버네티스에서 배포할 수 있는 가장 작은 단위로 한 개 이상의 컨테이너(211)와 스토리지(213)와 네트워크(215) 속성을 가진다. 포드(210)에 속한 적어도 하나의 컨테이너(211)는 스토리지(213)와 네트워크(215)를 공유하고 서로 로컬호스트(localhost)로 접근할 수 있다.
클라우드 플랫폼(10)은 이와 같은 구조의 복수개의 클러스터, 노드 및 포드를 포함하게 된다. The
이하에서는, 도 3을 참고하여, 클라우드 관리장치(100)의 구성에 대해 더욱 상세히 설명한다. 도 3은 본 발명의 일 실시예에 따른, 클라우드 관리장치(100)를 도시한 도면이다. Hereinafter, the configuration of the
도 3에 도시된 바와 같이, 클라우드 관리장치(100)는 통신부(110), 프로세서(120) 및 저장부(130)를 포함할 수 있다. As shown in FIG. 3 , the
통신부(110)는 프로세서(120)가 동작함에 있어 필요한 데이터들을 송수신하기 위한 통신 수단으로서, 무선 통신 방식 또는 유선 통신 방식으로 통신을 수행할 수 있다. The
구체적으로, 통신부(110)는 클라우드 플랫폼(10)과 통신 가능하도록 연결되며, 특정 서비스에 대한 자원 할당 요청을 수신한다. 여기에서 특정 서비스에 대한 자원 할당 요청은 해당 서비스에 필요한 자원 등에 대한 정보가 포함되어 있으며, 구체적으로, 특정 서비스에 대한 자원 할당 요청은 API 버전정보, 종류 정보, 라벨 정보, CPU 필요량, 메모리 필요량, 스토리지 필요량, 정책 정보, 장애 발생 횟수에 대한 제한, 및 지역 정보 중 적어도 하나를 포함할 수 있다. 또한, 특정 서비스에 대한 자원 할당 요청은 자원 종류별 가중치에 대한 정보를 더 포함할 수도 있다. Specifically, the
그리고 통신부(110)는, 다중 협업형 컨테이너 플랫폼 환경에서 구동 중인 서비스를 지원하는 복수의 클러스터에 포함된 복수의 노드 및 복수의 노드에 포함된 복수의 포드의 가용 자원에 대한 메트릭 데이터를 수집할 수 있다. In addition, the
저장부(130)는, 프로세서(130)가 동작함에 있어 필요한 프로그램 및 데이터를 저장하는 저장매체이다. The
프로세서(120)는, 클라우드 관리장치(100)의 전반적인 동작을 제어한다. The
프로세서(120)는, 마스터 클러스터(OpenMCP Cluster) 역할을 수행하며, 메트릭 데이터를 기반으로 포드의 가용 자원 현황을 모니터링하고, 복수의 포드의 가용 자원 현황을 고려하여 로드 밸런싱 및 스케일링 중 적어도 하나가 포함된 지속적 최적화 작업을 수행하고, 지속적 최적화 작업의 수행 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. The
즉, 프로세서(120)는, 메트릭 데이터를 기반으로 포드의 가용 자원 현황을 모니터링하고, 하나 이상의 포드에 과부화가 발생하는 경우, 로드 밸런싱을 수행하되, 이후에도 기설정된 임계치 이상의 서비스의 응답 지연 또는 작업 지연이 발생하는 경우, 과부화가 발생하는 포드를 대상으로 스케일링을 수행하고, 로드 밸런싱과 스케일링 작업을 수행했음에도, 서비스의 응답 지연 또는 작업 지연이 감소되지 않으면, 서비스를 지원하기 위해 연동 중인 클러스터 중 가용 자원이 가장 많은(자원 사용률이 가장 낮은) 노드를 포함하는 클러스터를 마이그레이션 대상으로 선택하여 클러스터 간 마이그레이션을 수행할 수 있다. That is, the
도 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
제1 분석 엔진(121)은, 복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정할 수 있다. The
구체적으로, 제1 분석 엔진(121)은, 포드별 과부하 발생 여부를 판단하여, 제1 포드에 과부화가 발생되면, 과부화가 발생된 제1 포드를 대상으로 로드 밸런싱을 수행하도록 결정할 수 있다. In detail, the
로드밸런싱 컨트롤러(122)는, 로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하기 위해 마련된다. The
제2 분석 엔진(123)은, 로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정할 수 있다. The
구체적으로, 제2 분석 엔진(123)은, 로드 밸런싱이 수행된 이후, 포드별 과부화 발생 여부를 판단하여, 제2 포드에 과부화가 발생되면, 과부화가 발생된 제2 포드를 대상으로 스케일링을 수행하도록 결정할 수 있다. Specifically, after load balancing is performed, the
HAS 컨트롤러(124)는, 스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하기 위해 마련된다. The
제3 분석 엔진(125)은, 스케일링된 결과를 기반으로 마이그레이션의 수행 여부를 결정할 수 있다. The
스케줄러(126)는 마이그레이션의 수행 여부의 결정 결과에 따라 마이그레이션을 수행할 수 있다. The
구체적으로, 스케줄러(126)는, 예측 모델을 이용하여 연동 중인 하나 이상의 클러스터에 포함된 복수의 노드에 대한 미래 시점에서의 자원 사용률을 예측하고, 예측 결과를 기반으로 자원 사용률이 기설정된 임계치 이상 증가하는 노드를 필터링하고, 남은 노드 중 자원 사용률이 가장 낮은 노드를 포함하는 클러스터를 마이그레이션 대상 클러스터로 선택하여, 마이그레이션을 수행할 수 있다. Specifically, the
도 6는, 상기 도 4 내지 도 5에 도시된 로드밸런싱 컨트롤러(122)의 동작 특성 설명에 제공된 도면이다. FIG. 6 is a diagram provided for explaining the operating characteristics of the
도 6을 참조하면, 로드밸런싱 컨트롤러(122)는, 제1 포드를 대상으로 로드 밸런싱을 수행하기로 결정되면, 서비스별 보유 클러스터를 분류하고, 제1 포드가 지원하는 서비스를 보유하는 클러스터에 포함된 복수의 포드들 각각의 가용 자원 현황 및 서비스를 보유하는 클러스터별 지리적 근접도에 대한 점수를 산출하고, 점수 산출 결과를 기반으로 로드 밸런싱을 수행할 수 있다. Referring to FIG. 6 , when it is determined to perform load balancing for the first pod, the
구체적으로, 로드밸런싱 컨트롤러(122)는, 클러스터별 지리적 근접도에 대한 점수 산출 시, 서비스의 클라이언트 IP로부터 클라이언트가 속하는 지리 정보를 추출하고, 추출 결과와 선별된 클러스터 각각의 지리 정보와 비교하여, 국가 및 대륙의 동일 여부에 따라 지리적 근접도에 대한 점수를 산출할 수 있다. Specifically, the
또한, 로드밸런싱 컨트롤러(122)는, 포드별 가용 자원 현황에 대한 점수 산출 시, 클러스터 각각에 대해 CPU 자원 및 메모리 자원을 포함하는 가용 자원에 대한 점수를 산출할 수 있다. In addition, the
그리고 로드밸런싱 컨트롤러(122)는, 포드별 가용 자원 현황 및 클러스터별 지리적 근접도에 대한 점수가 산출되면, 연합 클러스터 내 지리적으로 가깝고 자원 현황이 좋은 클러스터를 이용하여 제1 포드가 지원하는 서비스를 지원하기 위해, 로드 밸런싱을 수행할 수 있다. In addition, the
도 7 내지 도 8은, 상기 도 4 내지 도 5에 도시된 HAS 컨트롤러(124)의 동작 특성 설명에 제공된 도면이다. 7 to 8 are diagrams provided to describe the operating characteristics of the
도 7 내지 도 8을 참조하면, HAS 컨트롤러(124)는, 스케일링을 하기로 결정되면, 제2 포드의 자원을 스케일링하는 방식을 결정하고, 결정된 방식에 따라 제2 포드의 자원을 스케일링할 수 있다. 여기서, 제2 포드는, 특정 포드에 한정되지 아니하고, 가용 자원 현황에 따라 로드 밸런싱의 대상이 되는 제1 포드와 동일한 포드이거나 또는 다른 포드일 수 있다. 7 to 8 , if scaling is determined, the
HAS 컨트롤러(124)는, 포드의 CPU나 메모리 등의 자체 자원을 증가시키는 방법으로 수직 스케일링(Vertical Pod Auto-scaler, VPA)을 할 수 있으며, 포드와 동일한 복제 포드를 생성함으로써 수평 스케일링(Horizontal Pod Auto-Scaler, HPA)을 할 수도 있다. The
HAS 컨트롤러(124)는, 이 두 가지 방법을 동시에 수행하는 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA)으로 스케일링을 할 수도 있다. The
예를 들면, HAS 컨트롤러(124)는, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 작은 경우, 수직 스케일링(Vertical Pod Auto-scaler, VPA) 방식을 적용하여 제2 포드에 할당된 자원을 증가시킬 수 있다. For example, the
구체적으로, HAS 컨트롤러(124)는, 제2 포드에 할당된 CPU의 갯수를 증가시키거나 또는 메모리의 용량을 증가시키는 방식 등으로 제2 포드에 할당된 자원을 증가시킬 수 있다. Specifically, the
또한, HAS 컨트롤러(124)는, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 크거나 같은 경우, 수평 스케일링(Horizontal Pod Auto-Scaler, HPA) 방식을 적용하여, 제2 포드와 동일한 포드를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정함으로써, 제2 포드의 자원을 스케일링할 수 있다. In addition, the
예를 들면, HAS 컨트롤러(124)는, 도 8에 예시된 바와 같이 클러스터 1에 할당된 가용 자원의 최대 값 리밸런싱이 필요한 경우, 스케일링 하기로 결정하여, 클러스터 1과 동일한 서비스를 지원하는 클러스터 2 및 클러스터 3 중에 가용 자원 용량이 더 많은 클러스터 2로부터 최대 값을 받아올 수 있다. 이때, 클러스터 1의 맥스 값이 1 증가하여 8이 되고, 클러스터 2의 맥스 값은 1 감소하여 4가 된 것을 확인할 수 있다. For example, as illustrated in FIG. 8 , the
이후, HAS 컨트롤러(124)는, 맥스 값이 증가한 클러스터 1에 제2 포드와 동일한 포드 1개를 복제하여 복제 포드를 해당 노드 내에 생성하고, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정할 수 있다. Thereafter, the
이와 같이 수평 스케일링 방식을 적용하는 경우에는, 포드를 복제하여 동일한 서비스를 수행하게 하는 것은 매우 간단하며 이미 서비스 중인 특정 포드를 중단시키지 않아도 되기 때문에, 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 컨트롤러(124)는, 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA) 방식을 적용하여, 제2 포드가 포함된 노드의 여유 자원이 제2 포드에 할당된 자원보다 큰 경우, 제2 포드와 동일한 포드를 복제하여 복제 포드를 생성하고, 제2 포드에 할당된 자원과 복제 포드에 할당된 자원을 각각 더 증가시키며, 제2 포드와 복제 포드가 동일한 서비스를 수행하도록 설정할 수 있다.In addition, the
예를 들면, HAS 컨트롤러(124)는, 제2 포드에 과부하가 걸릴 뿐만 아니라 관련 서비스가 고화질 영상 처리 서비스 등으로 대용량의 자원이 필요한 경우, 하이브리드 스케일링(Hybrid Pod Auto-Scaler, Hybrid-PA) 방식을 적용하여, 포드의 자원도 증가시키면서 포드를 복제도 함께 할 수 있다. 이를 통해, 과부하가 걸린 제2 포드가 더욱 빠른 서비스를 수행할 수 있는 환경을 제공할 수 있다. For example, the
한편, HAS 컨트롤러(124)는 수평 스케일링(HPA) 및 수직 스케일링(VPA)을 수행한 이후에도 지속적으로 포드를 감시할 수 있다. Meanwhile, the
도 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
도 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
클라우드 관리방법은, 가용 자원 현황에 대한 모니터링 과정 중 특정 노드에서 과부하가 발생되면, 복수의 포드의 가용 자원 현황을 고려하여 과부하가 발생된 포드를 대상으로 로드 밸런싱의 수행 여부를 결정하고, 결정 결과에 따라 로드 밸런싱을 수행할 수 있다(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.
지속적 최적화 작업을 수행하는 단계는,
복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 단계;
로드 밸런싱 수행 여부의 결정 결과에 따라 서비스의 로드 밸런싱을 수행하는 단계;
로드 밸런싱이 수행된 복수의 포드의 가용 자원 현황을 고려하여 스케일링 수행 여부를 결정하는 단계; 및
스케일링 수행 여부의 결정 결과에 따라 특정 포드의 자원을 스케일링하는 단계;를 포함하는 것을 특징으로 하는 클라우드 관리방법.
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:
클라우드 관리장치는,
복수의 포드의 가용 자원 현황을 고려하여 서비스의 로드 밸런싱 수행 여부를 결정하는 제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:
제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.
로드밸런싱 컨트롤러는,
클러스터별 지리적 근접도에 대한 점수 산출 시, 서비스의 클라이언트 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.
로드밸런싱 컨트롤러는,
포드별 가용 자원 현황에 대한 점수 산출 시, 클러스터 각각에 대해 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.
제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.
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.
스케줄러는,
예측 모델을 이용하여 연동 중인 하나 이상의 클러스터에 포함된 복수의 노드에 대한 미래 시점에서의 자원 사용률을 예측하고, 예측 결과를 기반으로 자원 사용률이 기설정된 임계치 이상 증가하는 노드를 필터링하고,
남은 노드 중 자원 사용률이 가장 낮은 노드를 포함하는 클러스터를 마이그레이션 대상 클러스터로 선택하여, 마이그레이션을 수행하는 것을 특징으로 하는 클라우드 관리방법.
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.
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) |
-
2021
- 2021-11-12 KR KR1020210155565A patent/KR20230069487A/en not_active Application Discontinuation
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 |