KR102496674B1 - 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 - Google Patents
쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 Download PDFInfo
- Publication number
- KR102496674B1 KR102496674B1 KR1020210011162A KR20210011162A KR102496674B1 KR 102496674 B1 KR102496674 B1 KR 102496674B1 KR 1020210011162 A KR1020210011162 A KR 1020210011162A KR 20210011162 A KR20210011162 A KR 20210011162A KR 102496674 B1 KR102496674 B1 KR 102496674B1
- Authority
- KR
- South Korea
- Prior art keywords
- data analysis
- containers
- auto
- container
- replicated
- Prior art date
Links
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/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
-
- 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
-
- 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/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 관한 것이다.
본 발명에 따르면, 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서, 쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산하는 마스터 노드, 그리고 상기 마스터 노드로부터 상기 연산된 복제할 데이터 분석 컨테이너의 개수만큼 상기 데이터 분석 컨테이너를 복제하는 복수의 워커 노드를 포함하며, 상기 마스터 노드는, 상기 복수의 워커 노드로부터 수집된 상기 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 상기 데이터 분석 컨테이너의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청한다.
이와 같이 본 발명에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.
본 발명에 따르면, 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서, 쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산하는 마스터 노드, 그리고 상기 마스터 노드로부터 상기 연산된 복제할 데이터 분석 컨테이너의 개수만큼 상기 데이터 분석 컨테이너를 복제하는 복수의 워커 노드를 포함하며, 상기 마스터 노드는, 상기 복수의 워커 노드로부터 수집된 상기 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 상기 데이터 분석 컨테이너의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청한다.
이와 같이 본 발명에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.
Description
본 발명은 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서, 실시간 스트리밍 방식을 이용하는 데이터 분석 시스템에 쿠버네티스를 적용하여 데이터 분석 시스템의 로드를 감소시키기 위한 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 관한 것이다.
초고속 인터넷의 보급과 다양한 SNS의 등장으로 인해 인터넷에는 방대한 양의 데이터가 축적되고 있다. 데이터 분석은 방대한 양의 데이터로부터 의미 있는 정보를 추출하기 위하여 다양한 분야에서 시행되고 있다. 기존의 데이터 분석 방식은 배치 방식을 사용한다.
배치 방식의 데이터 분석은 데이터가 일정량 쌓인 후에 분석을 하기 때문에 금융기관, 소셜 미디어, 인터넷 쇼핑몰에서는 적용하는데 어려움이 있다. 실시간으로 축적되는 데이터에 대한 분석의 수요가 증가하면서 실시간 데이터 분석에 대한 연구가 활발히 진행되고 있다. 실시간 데이터 분석에서는 배치 방식 대신 스트리밍 방식을 사용한다.
스트리밍 방식은 실시간으로 생성되는 데이터를 분석 서버로 전송하여 분석을 하고 결과를 수집한다.
그러나 스트리밍 방식은 분석 서버의 로드가 증가하여 응답이 늦어지면 다음 데이터를 분석할 수 없고 전체적인 분석 시간이 증가하게 된다. 기존의 실시간 데이터 분석 기술은 수집, 저장, 분석 과정에서 버퍼링이 발생하거나 구현 기법이 한정적인 단점이 있다.
따라서, 데이터 분석 서버의 로드를 감소시키고 데이터 분석 시간을 단축시키기 위한 방법이 필요하게 되었다.
본 발명의 배경이 되는 기술은 대한민국 등록특허 제10-1533719호(2015.07.03. 공고)에 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는 실시간 스트리밍 방식을 이용하는 데이터 분석 시스템에 쿠버네티스를 적용하여 데이터 분석 시스템의 로드를 감소시키기 위한 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 관한 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시 예에 따르면, 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서, 쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산하는 마스터 노드, 그리고 상기 마스터 노드로부터 상기 연산된 복제할 데이터 분석 컨테이너의 개수만큼 상기 데이터 분석 컨테이너를 복제하는 복수의 워커 노드를 포함하며, 상기 마스터 노드는, 상기 복수의 워커 노드로부터 수집된 상기 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 상기 데이터 분석 컨테이너의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청한다.
상기 마스터 노드는, 상기 워커 노드와 데이터를 송수신하고, 상기 데이터 분석 컨테이너의 생성 또는 삭제 명령을 전달하는 API 서버(Application Programming Interface Server), 오토 스케일링 관련 파라미터를 설정하고 오토 스케일링 알고리즘을 통하여 복제할 컨테이너의 개수를 판단하는 HPA(Horizontal Pod Auto scaler), 상기 워커 노드에 배포된 데이터 분석 컨테이너의 사용량을 수집하는 상기 매트릭스 서버(Matrics Server), 그리고, 상기 데이터 분석 컨테이너의 라이프 사이클과 로드 밸런싱을 수행하고 상기 워커 노드의 동작이 멈추면 상기 데이터 분석 컨테이너를 재시작하도록 제어하는 컨트롤러(Controller)를 포함할 수 있다.
상기 워커 노드는, 데이터 분석을 실행하는 제1 워커 노드, 그리고 상기 HPA에 의해 복제되어 상기 데이터 분석을 실행하는 복수의 제2 워커 노드를 포함할 수 있다.
상기 제1 워커 노드 및 복수의 제2 워커 노드는, 상기 마스터 노드의 명령을 수신하는 큐블랫(Kubelet), 상기 데이터 분석 오토 스케일링 시스템의 런타임 환경을 설정하는 독커(Docker)를 각각 포함할 수 있다.
상기 제1 워크 노드는, 팟 단위로 배포되는 데이터 분석 컨테이너(Data Analysis Container)를 더 포함하며, 상기 복수의 제2 워크 노드는, 팟 단위로 배포되는 상기 HPA에 의해 오토 스케일링된 데이터 분석 컨테이너(Scaled Data Analysis Container)을 더 포함할 수 있다.
상기 HPA는, 아래의 수학식을 이용하여 상기 복제할 데이터 분석 컨테이너의 개수를 연산할 수 있다.
여기서, 는 상기 복제할 데이터 분석 컨테이너의 개수이고, 는 상기 워커 노드에서 현재 동작중인 데이터 분석 컨테이너 및 오토 스케일링된 데이터 분석 컨테이너의 개수이고, 는 현재 작동중인 데이터 분석 컨테이너 CPU의 사용률이고, 은 하나의 데이터 분석 컨테이너가 사용 가능한 CPU의 사용률이다.
상기 HPA는, 상기 이 상기 를 초과하지 않는 경우, 상기 이 1을 초과하는지 판단하고, 상기 이 1을 초과하면, 상기 에서 상기 의 차이만큼 복제되어 있는 상기 데이터 분석 컨테이너를 삭제할 수 있다.
이와 같이 본 발명에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.
또한, 데이터 분석 서버에 람다와 같은 다양한 데이터 분석 기법을 적용할 수 있으며, 데이터 분석 기법을 구현하여 컨테이너로 쿠버네티스 클러스터에 올려서 동작시킬 수 있다.
또한, 사용자와 데이터 분석 서버를 연결하고 분석 서버의 로드가 증가할 경우 복제 되기 때문에 1대 N으로 연결되어 데이터 분석을 수행함으로써, 데이터 분석의 전체적인 시간을 단축할 수 있다.
도 1은 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 이용한 데이터 분석 오토 스케일링 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시예에 따른 오토 스케일링에 필요한 파라미터를 설명하기 위한 도면이다.
도 4는 도 2의 S250 단계를 설명하기 위한 순서도이다.
도 2는 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 이용한 데이터 분석 오토 스케일링 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시예에 따른 오토 스케일링에 필요한 파라미터를 설명하기 위한 도면이다.
도 4는 도 2의 S250 단계를 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 설명하기 위한 구성도이다.
도 1에서 나타낸 것처럼, 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템(100)은 하나의 마스터 노드(110)와 복수의 워커 노드(120)로 구성된다.
먼저, 마스터 노드(110)는 쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산한다.
또한, 마스터 노드(110)는 복수의 워커 노드(120)로부터 수집된 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 데이터 분석 컨테이너(125)의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너(125)의 개수를 연산하여 복수의 워커 노드(120)에 데이터 분석 컨테이너의 복제를 요청한다.
그리고, 워커 노드(120)는 마스터 노드로부터 연산된 복제할 데이터 분석 컨테이너의 개수만큼 데이터 분석 컨테이너를 복제한다.
이때, 쿠버네티스(Kubernetes)는 애플리케이션 실행시 생성되는 데이터 분석 컨테이너를 자동으로 생성, 삭제, 관리해주는 방법으로, 본 발명에서는 쿠버네티스를 이용하여 워커 노드(120)의 데이터 분석 컨테이너를 복제, 삭제 및 관리하기 위해 사용한다.
도 1에서 나타낸 것처럼, 마스터 노드(110)는 API 서버(111), HPA(112), 매트릭스 서버(113) 및 컨트롤러(114)를 포함한다.
먼저, API 서버(111)는 워커 노드(120)와 데이터를 송수신하고, 데이터 분석 컨테이너의 생성 또는 삭제 명령을 전달한다.
다음으로, HPA(112)는 오토 스케일링 관련 파라미터를 설정하고 오토 스케일링 알고리즘을 통하여 복제할 컨테이너의 개수를 판단한다.
다음으로, 매트릭스 서버(113)는 워커 노드에 배포된 데이터 분석 컨테이너의 사용량을 수집한다.
다음으로, 컨트롤러(114)는 데이터 분석 컨테이너의 라이프 사이클과 로드 밸런싱을 수행하고 워커 노드(120)의 동작이 멈추면 데이터 분석 컨테이너를 재시작하도록 제어한다.
그리고 본 발명의 실시예에 따른 복수의 워커 노드(120)는 하나의 제1 워커 노드(121)와 복수의 제2 워커 노드(122)를 포함한다.
여기서, 제1 워커노드(121)는 데이터 분석을 실행하며, 큐블랫(123), 독커(124) 및 팟 단위로 배포되는 데이터 분석 컨테이너(125)를 포함한다.
그리고, 제2 워커 노드(122)는 큐블랫(123), 독커(124) 및 팟 단위로 배포되는 상기 HPA에 의해 오토 스케일링된 데이터 분석 컨테이너(126)를 포함한다.
여기서, 큐블랫(123)은 마스터 노드(110)의 명령을 수신한다.
즉, 큐블랫(Kubelet)(123)은 API 서버(111)로부터 데이터 분석 컨테이너(125)의 생성, 복제 또는 삭제 명령을 수신한다.
그리고, 독커(Docker)(124)는 데이터 분석 오토 스케일링 시스템(100)의 런타임 환경을 설정한다.
여기서, 런타임 환경은 데이터 분석 컨테이너(125)가 변수에 접근하는 방식, 프로시저 간 매개변수를 전달하는 매커니즘 또는 운영 체제와의 통신방법과 같은 환경을 설정한다.
다음으로, 데이터 분석 컨테이너(125) 및 오토 스케일링된 데이터 분석 컨테이너(126)는 데이터 분석을 실행하기 위한 컨테이너이다.
이때, 오토 스케일링된 데이터 분석 컨테이너(126)는 HPA(112)에 의해 복제된 데이터 분석 컨테이너(125)를 의미한다.
여기서, 데이터 분석 컨테이너(125) 및 오토 스케일링된 데이터 분석 컨테이너(126)는 물리적인 서버 위에서 동작하는 소형의 독립적인 가상 환경이고, 가상화되어 서버에서 독립적으로 실행된다.
이하에서는 도 2 내지 도 4를 이용하여 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 방법을 설명한다.
도 2는 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 이용한 데이터 분석 오토 스케일링 방법을 설명하기 위한 순서도이다.
먼저, 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템(100)은 HPA(112)에 오토 스케일링에 필요한 파라미터를 설정한다(S210).
도 3은 본 발명의 실시예에 따른 오토 스케일링에 필요한 파라미터를 설명하기 위한 도면이다.
이때, 은 복제할 데이터 분석 컨테이너(125)의 개수이고, 는 워커 노드에서 현재 동작중인 데이터 분석 컨테이너(125) 및 오토 스케일링된 데이터 분석 컨테이너(126)의 개수이고, 는 현재 작동중인 데이터 분석 컨테이너(125) CPU의 사용률이고, 은 하나의 데이터 분석 컨테이너(125)가 사용 가능한 CPU의 사용률이며, 는 데이터 분석 컨테이너(125)의 최대 복제본의 개수이다.
다음으로, HPA(112)는 매트릭스 서버(113)에 복수의 워커 노드(120)의 데이터 분석 컨테이너(125)의 CPU 사용량 모니터링을 요청한다(S220).
즉, HPA(112)는 데이터 분석 오토 스케일링 시스템(100)의 현재 사용중인 CPU의 사용량에 대하여 모니터링을 매트릭스 서버(113)에 요청한다.
다음으로, 매트릭스 서버(113)는 제1 워커 노드(121)와 제2 워커 노드(122)에서 현재시점에서의 CPU 사용량을 수집한다(S230).
다음으로, 매트릭스 서버(113)는 수집된 제1 워커 노드(121)와 제2 워커 노드(122)에서 현재시점에서의 CPU 사용량을 HPA(112)에 제공하고, HPA(112)는 제1 워커 노드(121)와 제2 워커 노드(122)에서 현재시점에서의 CPU 사용량이 설정 값의 초과 여부를 확인한다(S240).
여기서, 설정 값은 데이터 분석 오토 스케일링 시스템(100)의 동작이 원활하게 동작할 수 있는 값이며, 이는 데이터 분석 오토 스케일링 시스템(100)의 구성에 따라 변경되거나 사용자의 선택에 의해 변경될 수 있다.
다음으로, 제1 워커 노드(121)와 제2 워커 노드(122)에서 현재시점에서의 CPU 사용량이 설정 값을 초과하면, HPA(112)는 오토 스케일링 알고리즘을 통해 데이터 분석 컨테이너(125)의 복제본 개수를 선정한다(S250).
즉, HPA(112)는 오토 스케일링된 데이터 분석 컨테이너(126)의 개수를 선정한다.
여기서, 오토 스케일링 알고리즘은 데이터 분석 컨테이너(125)의 CPU 사용량에 따라 복제본 개수를 연산하고, 최종 복제본 개수를 결정하기 위한 알고리즘이다.
도 4는 도 2의 S250 단계를 설명하기 위한 순서도이다.
도 4에서 나타낸 것처럼, HPA(112)는 복제할 데이터 분석 컨테이너(125)의 개수를 연산한다(251).
그러면, HPA(112)는 데이터 분석 컨테이너(125)의 복제 또는 삭제 명령을 컨트롤러(114)에 제공한다(S260).
그러면, 컨트롤러(114)는 API 서버(111)을 통해 제1 워커 노드(121) 또는 제2 워커노드(122)에 데이터 분석 컨테이너(125)의 복제본 생성 및 로드 밸런싱을 수행하도록 제어한다(S270).
즉, API 서버(111)는 컨트롤러(114)부터 수신한 데이터 분석 컨테이너(125)의 복제 또는 삭제 명령을 제1 워커 노드(121) 또는 제2 워커노드(122)에 제공한다.
여기서, 로드 밸런싱은 병렬로 운용되고 있는 기기 사이에서의 부하가 가능한 한 균등하게 되도록 작업 처리를 분산하여 할당하는 것을 의미하며, 본 발명에서는 데이터 분석 컨테이너(125)와 오토 스케일링된 데이터 분석 컨테이너(126)에 부하를 균등하게 분배되도록 제어한다.
이와 같이 본 발명의 실시예에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.
또한, 데이터 분석 서버에 람다와 같은 다양한 데이터 분석 기법을 적용할 수 있으며, 데이터 분석 기법을 구현하여 컨테이너로 쿠버네티스 클러스터에 올려서 동작시킬 수 있다.
또한, 사용자와 데이터 분석 서버를 연결하고 분석 서버의 로드가 증가할 경우 복제 되기 때문에 1대 N으로 연결되어 데이터 분석을 수행함으로써, 데이터 분석의 전체적인 시간을 단축할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것이 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 데이터 분석 오토 스케일링 시스템,
110: 마스터 노드, 111: API 서버,
112: HPA, 113: 매트릭스 서버
114: 컨트롤러, 120: 워커 노드,
121: 제1 워커노드, 122: 제2 워커 노드,
123: 큐블랫, 124: 독커,
125: 데이터 분석 컨테이너,
126: 오토 스케일링된 데이터 분석 컨테이너
110: 마스터 노드, 111: API 서버,
112: HPA, 113: 매트릭스 서버
114: 컨트롤러, 120: 워커 노드,
121: 제1 워커노드, 122: 제2 워커 노드,
123: 큐블랫, 124: 독커,
125: 데이터 분석 컨테이너,
126: 오토 스케일링된 데이터 분석 컨테이너
Claims (11)
- 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서,
쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산하는 마스터 노드, 그리고
상기 마스터 노드로부터 상기 연산된 복제할 데이터 분석 컨테이너의 개수만큼 상기 데이터 분석 컨테이너를 복제하는 복수의 워커 노드를 포함하며,
상기 마스터 노드는,
상기 복수의 워커 노드로부터 수집된 상기 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 상기 데이터 분석 컨테이너의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청하며,
상기 마스터 노드는,
오토 스케일링 관련 파라미터를 설정하고 오토 스케일링 알고리즘을 통하여 복제할 컨테이너의 개수를 판단하는 HPA(Horizontal Pod Auto scaler)를 포함하며,
상기 HPA는,
아래의 수학식을 이용하여 상기 복제할 데이터 분석 컨테이너의 개수를 연산하는 데이터 분석 오토 스케일링 시스템:
여기서, 는 상기 복제할 데이터 분석 컨테이너의 개수이고, 는 상기 워커 노드에서 현재 동작중인 데이터 분석 컨테이너 및 오토 스케일링된 데이터 분석 컨테이너의 개수이고, 는 현재 작동중인 데이터 분석 컨테이너 CPU의 사용률이고, 은 하나의 데이터 분석 컨테이너가 사용 가능한 CPU의 사용률이다. - 제1항에 있어서,
상기 마스터 노드는,
상기 워커 노드와 데이터를 송수신하고, 상기 데이터 분석 컨테이너의 생성 또는 삭제 명령을 전달하는 API 서버(Application Programming Interface Server),
상기 워커 노드에 배포된 데이터 분석 컨테이너의 사용량을 수집하는 매트릭스 서버(Matrics Server), 그리고,
상기 데이터 분석 컨테이너의 라이프 사이클과 로드 밸런싱을 수행하고 상기 워커 노드의 동작이 멈추면 상기 데이터 분석 컨테이너를 재시작하도록 제어하는 컨트롤러(Controller)를 더 포함하는 데이터 분석 오토 스케일링 시스템. - 제2항에 있어서,
상기 워커 노드는,
데이터 분석을 실행하는 제1 워커 노드, 그리고
상기 HPA에 의해 복제되어 상기 데이터 분석을 실행하는 복수의 제2 워커 노드를 포함하는 데이터 분석 오토 스케일링 시스템. - 제3항에 있어서,
상기 제1 워커 노드 및 복수의 제2 워커 노드는,
상기 마스터 노드의 명령을 수신하는 큐블랫(Kubelet),
상기 데이터 분석 오토 스케일링 시스템의 런타임 환경을 설정하는 독커(Docker)를 각각 포함하는 데이터 분석 오토 스케일링 시스템. - 제4항에 있어서,
상기 제1 워커 노드는,
팟 단위로 배포되는 데이터 분석 컨테이너(Data Analysis Container)를 더 포함하며,
상기 복수의 제2 워커 노드는,
팟 단위로 배포되는 상기 HPA에 의해 오토 스케일링된 데이터 분석 컨테이너(Scaled Data Analysis Container)을 더 포함하는 데이터 분석 오토 스케일링 시스템. - 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200137947 | 2020-10-23 | ||
KR20200137947 | 2020-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220054154A KR20220054154A (ko) | 2022-05-02 |
KR102496674B1 true KR102496674B1 (ko) | 2023-02-07 |
Family
ID=81593476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210011162A KR102496674B1 (ko) | 2020-10-23 | 2021-01-27 | 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102496674B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701126B (zh) * | 2023-08-01 | 2023-12-12 | 中海石油气电集团有限责任公司 | pod容量控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101256918B1 (ko) | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | 클라우드 서비스의 확장성과 가용성을 향상시키는 방법 및 그 시스템 |
KR101826498B1 (ko) | 2017-05-02 | 2018-02-07 | 나무기술 주식회사 | 클라우드 플랫폼 시스템 |
US20200250006A1 (en) * | 2019-01-31 | 2020-08-06 | Hewlett Packard Enterprise Development Lp | Container management |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102125260B1 (ko) * | 2018-09-05 | 2020-06-23 | 주식회사 나눔기술 | 분산 지능모듈의 통합관리 시스템 |
-
2021
- 2021-01-27 KR KR1020210011162A patent/KR102496674B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101256918B1 (ko) | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | 클라우드 서비스의 확장성과 가용성을 향상시키는 방법 및 그 시스템 |
KR101826498B1 (ko) | 2017-05-02 | 2018-02-07 | 나무기술 주식회사 | 클라우드 플랫폼 시스템 |
US20200250006A1 (en) * | 2019-01-31 | 2020-08-06 | Hewlett Packard Enterprise Development Lp | Container management |
Non-Patent Citations (1)
Title |
---|
민현기. '[K8S] Kubernetes의 HPA를 활용한 오토스케일링(Auto Scaling)'. DT Evangelist 기술 블로그, 2020.05.15.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220054154A (ko) | 2022-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
CN104252393B (zh) | 管理分布式计算机系统中资源的方法和应用资源分配模块 | |
US20180367468A1 (en) | Remote Service for Executing Resource Allocation Analyses for Distributed Computer Systems | |
US10037348B2 (en) | Database management system with database hibernation and bursting | |
US11334422B2 (en) | System and method for data redistribution in a database | |
WO2012029259A1 (en) | Storage system | |
US7328213B2 (en) | Transaction processing method, transaction control apparatus and program thereof | |
CN109284220B (zh) | 集群故障恢复时长估算方法、装置、设备及存储介质 | |
CN108804465B (zh) | 一种分布式缓存数据库数据迁移的方法及系统 | |
JP2020102838A5 (ko) | ||
CN113032102B (zh) | 资源重调度方法、装置、设备和介质 | |
CN105491117A (zh) | 面向实时数据分析的流式图数据处理系统及方法 | |
KR102496674B1 (ko) | 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 | |
CN109376151A (zh) | 数据分库处理方法、系统、装置和存储介质 | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
Du et al. | Hawkeye: Adaptive straggler identification on heterogeneous spark cluster with reinforcement learning | |
CN114564281A (zh) | 容器调度方法、装置、设备及存储介质 | |
CN113946287A (zh) | 分布式存储系统及其数据处理方法、相关装置 | |
CN106775942B (zh) | 一种云应用导向的固态盘缓存管理系统及方法 | |
CN114546610B (zh) | 一种海量数据分布式脱敏装置 | |
CN108243228B (zh) | 用于数据调度的方法和智能伺服集群 | |
CN108984271A (zh) | 一种均衡负载的方法以及相关设备 | |
CN109617954B (zh) | 一种创建云主机的方法和装置 | |
Nair et al. | Performance degradation assessment and VM placement policy in cloud | |
CN116401066B (zh) | 用于提高资源利用率的多虚拟服务的动态调度方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |