KR20220054154A - 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 - Google Patents

쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 Download PDF

Info

Publication number
KR20220054154A
KR20220054154A KR1020210011162A KR20210011162A KR20220054154A KR 20220054154 A KR20220054154 A KR 20220054154A KR 1020210011162 A KR1020210011162 A KR 1020210011162A KR 20210011162 A KR20210011162 A KR 20210011162A KR 20220054154 A KR20220054154 A KR 20220054154A
Authority
KR
South Korea
Prior art keywords
data analysis
auto
containers
container
hpa
Prior art date
Application number
KR1020210011162A
Other languages
English (en)
Other versions
KR102496674B1 (ko
Inventor
신용태
박수용
최종석
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Publication of KR20220054154A publication Critical patent/KR20220054154A/ko
Application granted granted Critical
Publication of KR102496674B1 publication Critical patent/KR102496674B1/ko

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server 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 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청한다.
이와 같이 본 발명에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.

Description

쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템{SYSTEM FOR ANALYSISING DATA AUTO SCALING BASED ON KUBERNETES}
본 발명은 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서, 실시간 스트리밍 방식을 이용하는 데이터 분석 시스템에 쿠버네티스를 적용하여 데이터 분석 시스템의 로드를 감소시키기 위한 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 관한 것이다.
초고속 인터넷의 보급과 다양한 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는, 아래의 수학식을 이용하여 상기 복제할 데이터 분석 컨테이너의 개수를 연산할 수 있다.
Figure pat00001
여기서,
Figure pat00002
는 상기 복제할 데이터 분석 컨테이너의 개수이고,
Figure pat00003
는 상기 워커 노드에서 현재 동작중인 데이터 분석 컨테이너 및 오토 스케일링된 데이터 분석 컨테이너의 개수이고,
Figure pat00004
는 현재 작동중인 데이터 분석 컨테이너 CPU의 사용률이고,
Figure pat00005
은 하나의 데이터 분석 컨테이너가 사용 가능한 CPU의 사용률이다.
상기 HPA는, 상기
Figure pat00006
이 상기
Figure pat00007
를 초과하는지 판단하고, 상기
Figure pat00008
이 상기
Figure pat00009
를 초과하는 경우, 상기
Figure pat00010
이 데이터 분석 컨테이너의 최대 복제본의 개수(
Figure pat00011
) 미만인지 판단할 수 있다.
상기 HPA는, 상기
Figure pat00012
이 상기
Figure pat00013
미만이면, 상기
Figure pat00014
만큼 상기 데이터 분석 컨테이너를 복제할 수 있다
상기 HPA는, 상기
Figure pat00015
이 상기
Figure pat00016
이상이면, 상기
Figure pat00017
만큼 상기 데이터 분석 컨테이너를 복제할 수 있다.
상기 HPA는, 상기
Figure pat00018
이 상기
Figure pat00019
를 초과하지 않는 경우, 상기
Figure pat00020
이 1을 초과하는지 판단하고, 상기
Figure pat00021
이 1을 초과하면, 상기
Figure pat00022
에서 상기
Figure pat00023
의 차이만큼 복제되어 있는 상기 데이터 분석 컨테이너를 삭제할 수 있다.
상기 HPA는, 상기
Figure pat00024
1이하이면, 상기 데이터 분석 컨테이너를 제외한 나머지 오토 스케일링된 데이터 분석 컨테이너를 제거할 수 있다.
이와 같이 본 발명에 따르면, 분석 서버의 로드가 증가할 경우 분석서버를 복제하여 복제된 분석 서버로 로드를 분산함으로써, 로드가 감소한 분석 서버는 더 빨리 데이터 분석을 수행할 수 있고 사용자에게 빠른 응답을 제공할 수 있다.
또한, 데이터 분석 서버에 람다와 같은 다양한 데이터 분석 기법을 적용할 수 있으며, 데이터 분석 기법을 구현하여 컨테이너로 쿠버네티스 클러스터에 올려서 동작시킬 수 있다.
또한, 사용자와 데이터 분석 서버를 연결하고 분석 서버의 로드가 증가할 경우 복제 되기 때문에 1대 N으로 연결되어 데이터 분석을 수행함으로써, 데이터 분석의 전체적인 시간을 단축할 수 있다.
도 1은 본 발명의 실시예에 따른 데이터 분석 오토 스케일링 시스템을 설명하기 위한 구성도이다.
도 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은 본 발명의 실시예에 따른 오토 스케일링에 필요한 파라미터를 설명하기 위한 도면이다.
도 3에서 나타낸 것처럼, 본 발명의 실시예에 따른 HPA(112)는
Figure pat00025
,
Figure pat00026
,
Figure pat00027
,
Figure pat00028
Figure pat00029
를 설정한다.
이때,
Figure pat00030
은 복제할 데이터 분석 컨테이너(125)의 개수이고,
Figure pat00031
는 워커 노드에서 현재 동작중인 데이터 분석 컨테이너(125) 및 오토 스케일링된 데이터 분석 컨테이너(126)의 개수이고,
Figure pat00032
는 현재 작동중인 데이터 분석 컨테이너(125) CPU의 사용률이고,
Figure pat00033
은 하나의 데이터 분석 컨테이너(125)가 사용 가능한 CPU의 사용률이며,
Figure pat00034
는 데이터 분석 컨테이너(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)는 아래의 수학식을 이용하여
Figure pat00035
을 연산한다.
Figure pat00036
이때,
Figure pat00037
는 다수의 컨테이너가 실행 중일 경우 CPU 사용률의 평균을 나타내며,
Figure pat00038
은 컨테이너가 사용 가능한 CPU 사용률을 의미하며 백분율로 표현된다.
예를 들어,
Figure pat00039
이 20%,
Figure pat00040
이 40%,
Figure pat00041
가 1이면,
Figure pat00042
은 수학식 1을 통해 2로 연산된다.
다음으로, HPA(112)는
Figure pat00043
Figure pat00044
를 초과하는지 판단한다(S252)
다음으로,
Figure pat00045
Figure pat00046
를 초과하는 경우, HPA(112)는
Figure pat00047
Figure pat00048
미만인지 판단한다(S253).
그리고,
Figure pat00049
Figure pat00050
미만이면, HPA(112)는
Figure pat00051
만큼 데이터 분석 컨테이너(125)를 복제한다(S254).
반면에,
Figure pat00052
Figure pat00053
이상이면, HPA(112)는
Figure pat00054
만큼 데이터 분석 컨테이너(125)를 복제한다(S255).
예를 들어, 수학식 1을 통해 연산된
Figure pat00055
이 2이고,
Figure pat00056
의 값이 3인 경우, HPA(112)는 2개의 데이터 분석 컨테이너(125)를 복제한다.
다음으로,
Figure pat00057
Figure pat00058
를 초과하지 않는 경우, HPA(112)는
Figure pat00059
이 1을 초과하는지 판단한다(S256).
이때,
Figure pat00060
이 1을 초과하면, HPA(112)는
Figure pat00061
에서
Figure pat00062
의 차이만큼 복제되어 있는 데이터 분석 컨테이너(125)를 삭제한다(S257).
반면에,
Figure pat00063
1이하이면, HPA(112)는 데이터 분석 컨테이너(125)를 제외한 나머지 오토 스케일링된 데이터 분석 컨테이너(126)를 제거한다(S258).
그러면, 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: 오토 스케일링된 데이터 분석 컨테이너

Claims (11)

  1. 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템에 있어서,
    쿠버네티스 기반의 데이터 분석 오토 스케일링 시스템에 필요한 파라미터를 설정하고, 현재 동작중인 데이터 분석 컨테이너의 CPU 사용량을 수집하여 복제할 데이터 분석 컨테이너의 개수를 연산하는 마스터 노드, 그리고
    상기 마스터 노드로부터 상기 연산된 복제할 데이터 분석 컨테이너의 개수만큼 상기 데이터 분석 컨테이너를 복제하는 복수의 워커 노드를 포함하며,
    상기 마스터 노드는,
    상기 복수의 워커 노드로부터 수집된 상기 데이터 분석 컨테이너의 각각의 CPU 사용량을 수집하고, 상기 데이터 분석 컨테이너의 각각의 CPU 사용량 중에서 기준 값을 초과한 데이터 분석 컨테이너의 개수를 연산하고, 연산된 결과를 오토 스케일링 알고리즘에 적용하여 복제할 데이터 분석 컨테이너의 개수를 연산하여 상기 복수의 워커 노드에 데이터 분석 컨테이너의 복제를 요청하는 데이터 분석 오토 스케일링 시스템.
  2. 제1항에 있어서,
    상기 마스터 노드는,
    상기 워커 노드와 데이터를 송수신하고, 상기 데이터 분석 컨테이너의 생성 또는 삭제 명령을 전달하는 API 서버(Application Programming Interface Server),
    오토 스케일링 관련 파라미터를 설정하고 오토 스케일링 알고리즘을 통하여 복제할 컨테이너의 개수를 판단하는 HPA(Horizontal Pod Auto scaler),
    상기 워커 노드에 배포된 데이터 분석 컨테이너의 사용량을 수집하는 매트릭스 서버(Matrics Server), 그리고,
    상기 데이터 분석 컨테이너의 라이프 사이클과 로드 밸런싱을 수행하고 상기 워커 노드의 동작이 멈추면 상기 데이터 분석 컨테이너를 재시작하도록 제어하는 컨트롤러(Controller)를 포함하는 데이터 분석 오토 스케일링 시스템.
  3. 제2항에 있어서,
    상기 워커 노드는,
    데이터 분석을 실행하는 제1 워커 노드, 그리고
    상기 HPA에 의해 복제되어 상기 데이터 분석을 실행하는 복수의 제2 워커 노드를 포함하는 데이터 분석 오토 스케일링 시스템.
  4. 제3항에 있어서,
    상기 제1 워커 노드 및 복수의 제2 워커 노드는,
    상기 마스터 노드의 명령을 수신하는 큐블랫(Kubelet),
    상기 데이터 분석 오토 스케일링 시스템의 런타임 환경을 설정하는 독커(Docker)를 각각 포함하는 데이터 분석 오토 스케일링 시스템.
  5. 제4항에 있어서,
    상기 제1 워크 노드는
    팟 단위로 배포되는 데이터 분석 컨테이너(Data Analysis Container)를 더 포함하며,
    상기 복수의 제2 워크 노드는,
    팟 단위로 배포되는 상기 HPA에 의해 오토 스케일링된 데이터 분석 컨테이너(Scaled Data Analysis Container)을 더 포함하는 데이터 분석 오토 스케일링 시스템.
  6. 제5항에 있어서,
    상기 HPA는,
    아래의 수학식을 이용하여 상기 복제할 데이터 분석 컨테이너의 개수를 연산하는 데이터 분석 오토 스케일링 시스템:
    Figure pat00064

    여기서,
    Figure pat00065
    는 상기 복제할 데이터 분석 컨테이너의 개수이고,
    Figure pat00066
    는 상기 워커 노드에서 현재 동작중인 데이터 분석 컨테이너 및 오토 스케일링된 데이터 분석 컨테이너의 개수이고,
    Figure pat00067
    는 현재 작동중인 데이터 분석 컨테이너 CPU의 사용률이고,
    Figure pat00068
    은 하나의 데이터 분석 컨테이너가 사용 가능한 CPU의 사용률이다.
  7. 제6항에 있어서,
    상기 HPA는,
    상기
    Figure pat00069
    이 상기
    Figure pat00070
    를 초과하는지 판단하고, 상기
    Figure pat00071
    이 상기
    Figure pat00072
    를 초과하는 경우, 상기
    Figure pat00073
    이 데이터 분석 컨테이너의 최대 복제본의 개수(
    Figure pat00074
    ) 미만인지 판단하는 데이터 분석 오토 스케일링 시스템.
  8. 제7항에 있어서,
    상기 HPA는,
    상기
    Figure pat00075
    이 상기
    Figure pat00076
    미만이면, 상기
    Figure pat00077
    만큼 상기 데이터 분석 컨테이너를 복제하는 데이터 분석 오토 스케일링 시스템.
  9. 제7항에 있어서,
    상기 HPA는,
    상기
    Figure pat00078
    이 상기
    Figure pat00079
    이상이면, 상기
    Figure pat00080
    만큼 상기 데이터 분석 컨테이너를 복제하는 데이터 분석 오토 스케일링 시스템.
  10. 제7항에 있어서,
    상기 HPA는,
    상기
    Figure pat00081
    이 상기
    Figure pat00082
    를 초과하지 않는 경우, 상기
    Figure pat00083
    이 1을 초과하는지 판단하고,
    상기
    Figure pat00084
    이 1을 초과하면, 상기
    Figure pat00085
    에서 상기
    Figure pat00086
    의 차이만큼 복제되어 있는 상기 데이터 분석 컨테이너를 삭제하는 데이터 분석 오토 스케일링 시스템.
  11. 제10항에 있어서,
    상기 HPA는,
    상기
    Figure pat00087
    1이하이면, 상기 데이터 분석 컨테이너를 제외한 나머지 오토 스케일링된 데이터 분석 컨테이너를 제거하는 데이터 분석 오토 스케일링 시스템.
KR1020210011162A 2020-10-23 2021-01-27 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템 KR102496674B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200137947 2020-10-23
KR1020200137947 2020-10-23

Publications (2)

Publication Number Publication Date
KR20220054154A true KR20220054154A (ko) 2022-05-02
KR102496674B1 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701126A (zh) * 2023-08-01 2023-09-05 中海石油气电集团有限责任公司 pod容量控制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256918B1 (ko) * 2011-12-15 2013-04-25 숭실대학교산학협력단 클라우드 서비스의 확장성과 가용성을 향상시키는 방법 및 그 시스템
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템
KR20200027783A (ko) * 2018-09-05 2020-03-13 주식회사 나눔기술 분산 지능모듈의 통합관리 시스템
US20200250006A1 (en) * 2019-01-31 2020-08-06 Hewlett Packard Enterprise Development Lp Container management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101256918B1 (ko) * 2011-12-15 2013-04-25 숭실대학교산학협력단 클라우드 서비스의 확장성과 가용성을 향상시키는 방법 및 그 시스템
KR101826498B1 (ko) * 2017-05-02 2018-02-07 나무기술 주식회사 클라우드 플랫폼 시스템
KR20200027783A (ko) * 2018-09-05 2020-03-13 주식회사 나눔기술 분산 지능모듈의 통합관리 시스템
US20200250006A1 (en) * 2019-01-31 2020-08-06 Hewlett Packard Enterprise Development Lp Container management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
민현기. '[K8S] Kubernetes의 HPA를 활용한 오토스케일링(Auto Scaling)'. DT Evangelist 기술 블로그, 2020.05.15.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116701126A (zh) * 2023-08-01 2023-09-05 中海石油气电集团有限责任公司 pod容量控制方法及装置
CN116701126B (zh) * 2023-08-01 2023-12-12 中海石油气电集团有限责任公司 pod容量控制方法及装置

Also Published As

Publication number Publication date
KR102496674B1 (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
CN110134495B (zh) 一种容器跨主机在线迁移方法、存储介质及终端设备
CN104252393B (zh) 管理分布式计算机系统中资源的方法和应用资源分配模块
Bryk et al. Storage-aware algorithms for scheduling of workflow ensembles in clouds
Zhang et al. An effective data locality aware task scheduling method for MapReduce framework in heterogeneous environments
López-Pires et al. Many-objective virtual machine placement
Daudjee et al. Lazy database replication with ordering guarantees
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
CN108804465B (zh) 一种分布式缓存数据库数据迁移的方法及系统
KR102247629B1 (ko) 기계 학습 기반의 클라우드 가상머신 자원의 최적화 장치 및 방법
CN104618153B (zh) 分布式并行图处理中基于p2p的动态容错方法及系统
CN110569252B (zh) 一种数据处理系统及方法
CN103229487A (zh) 分布式存储系统中的分区平衡方法、装置及服务器
JP2020102838A5 (ko)
CN105491117A (zh) 面向实时数据分析的流式图数据处理系统及方法
CN115048254B (zh) 数据分配策略的仿真测试方法、系统、设备和可读介质
KR102496674B1 (ko) 쿠버네티스를 기반으로 하는 데이터 분석 오토 스케일링 시스템
CN109960579B (zh) 一种调整业务容器的方法及装置
Huang et al. The improvement of auto-scaling mechanism for distributed database-A case study for MongoDB
CN109376151A (zh) 数据分库处理方法、系统、装置和存储介质
Du et al. Hawkeye: Adaptive straggler identification on heterogeneous spark cluster with reinforcement learning
JP6191695B2 (ja) 仮想リソース制御システムおよび仮想リソース制御方法
CN116366658B (zh) 一种云计算负载均衡方法、系统
Ibrahim et al. Improving mapreduce performance with progress and feedback based speculative execution
Kim et al. Human-intelligence workflow management for the big data of augmented reality on cloud infrastructure
Hać Load balancing in distributed systems: A summary

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