KR20230075634A - Resource provisioning method for kubernetes pods - Google Patents

Resource provisioning method for kubernetes pods Download PDF

Info

Publication number
KR20230075634A
KR20230075634A KR1020210162016A KR20210162016A KR20230075634A KR 20230075634 A KR20230075634 A KR 20230075634A KR 1020210162016 A KR1020210162016 A KR 1020210162016A KR 20210162016 A KR20210162016 A KR 20210162016A KR 20230075634 A KR20230075634 A KR 20230075634A
Authority
KR
South Korea
Prior art keywords
resource
pod
time window
resource utilization
limit value
Prior art date
Application number
KR1020210162016A
Other languages
Korean (ko)
Other versions
KR102621092B1 (en
Inventor
김경표
박성순
노재춘
김재환
Original Assignee
(주) 글루시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 글루시스 filed Critical (주) 글루시스
Priority to KR1020210162016A priority Critical patent/KR102621092B1/en
Priority to PCT/KR2022/013599 priority patent/WO2023096109A1/en
Publication of KR20230075634A publication Critical patent/KR20230075634A/en
Application granted granted Critical
Publication of KR102621092B1 publication Critical patent/KR102621092B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed is a resource provisioning method for a Kubernetes pod, which can dynamically adjust a resource assigned to a Kubernetes pod in accordance with the resource usage of the Kubernetes pod. The resource provisioning method for a Kubernetes pod comprises: a step of collecting resource usage information of a target pod included in a worker node from the worker node; a step of using the resource usage information collected in a first time window to predict the resource usage of the target pod for a second time window separated from the first time window by a first time distance, and generating resource usage prediction information; a step of using the resource usage prediction information to calculate a resource limitation value for the target pod; and a step of transmitting the resource limitation value to the worker node.

Description

쿠버네티스 포드를 위한 자원 프로비저닝 방법{RESOURCE PROVISIONING METHOD FOR KUBERNETES PODS}Resource Provisioning Method for Kubernetes Pods

본 발명은 컨테이너 기반의 가상화 환경에서의 자원 프로비저닝 방법에 관한 것으로서, 더욱 상세하게는 쿠버네티스 포드를 위한 자원 프로비저닝 방법에 관한 것이다. The present invention relates to a resource provisioning method in a container-based virtualization environment, and more particularly, to a resource provisioning method for a Kubernetes pod.

오늘날 대표적인 클라우드 플랫폼에서는 기존에 사용하던 가상화 방법인 가상 머신 이외에도 컨테이너(container)라는 가상화 도구가 제공된다. 사용자가 원하는 자원을 요청하면, 클라우드 플랫폼은 요청된 자원이 할당된 컨테이너를 사용자에게 제공한다. In today's representative cloud platforms, a virtualization tool called a container is provided in addition to a virtual machine, which is a traditional virtualization method. When a user requests a desired resource, the cloud platform provides the user with a container to which the requested resource is allocated.

컨테이너 기반의 가상화 방법은, 단일 컨트롤 호스트 상에서 여러 개의 고립된 리눅스 시스템을 실행하기 위한 운영 시스템 레벨 가상화 방법으로서, 운영체제 레벨 가상화라고도 불린다. 컨테이너 기반 가상화를 구현하기 위해, 도커(docker)나 쿠버네티스(kubernetes)와 같은 오픈소스 플랫폼이 이용된다.The container-based virtualization method is an operating system level virtualization method for running several isolated Linux systems on a single control host, and is also called operating system level virtualization. To implement container-based virtualization, an open source platform such as Docker or Kubernetes is used.

쿠버네티스 플랫폼은 마스터 노드(master node)와 워커 노드(worker node)로 이루어진다. 워커 노드의 포드(pod)에 포함된 컨테이너에서 어플리케이션이 실행되며, 마스터 노드는 워커 노드를 관리한다. 포드는 쿠버네티스 플랫폼의 기본 단위로서, 복수의 컨테이너가 하나의 포드를 구성한다. The Kubernetes platform consists of master nodes and worker nodes. Applications run in containers included in worker node pods, and the master node manages the worker nodes. A pod is the basic unit of the Kubernetes platform, and multiple containers make up a single pod.

현재 쿠버네티스 환경에서는, 특정 포드가 워커 노드에 할당된 모든 자원을 전부 사용할 수 있으며, 다른 포드의 성능 저하가 발생할 수 있다. 이를 방지하기 위해, 사용자가 직접 포드에 대한 자원 제한을 설정할 수 있지만, 실시간으로 변동되는 포드의 자원 사용률을 사용자가 실시간으로 모니터링하면서 포드에 대한 자원 프로비저닝을 수행할 수는 없다.In the current Kubernetes environment, a specific pod can use all resources allocated to a worker node, and performance of other pods may be degraded. To prevent this, the user can directly set the resource limit for the pod, but the user cannot perform resource provisioning for the pod while monitoring the resource usage rate of the pod that fluctuates in real time.

따라서, 포드의 자원 사용률에 따라 동적으로 포드에 대한 자원 프로비저닝을 수행하는 방법의 개발이 필요하다.Therefore, it is necessary to develop a method of dynamically provisioning resources for a pod according to the resource usage rate of the pod.

관련 선행문헌으로 특허 문헌인 대한민국 등록특허 제10-2230901호, 제10-2322312호가 있다.As related prior literature, there are Korean Patent Registration Nos. 10-2230901 and 10-2322312, which are patent documents.

본 발명은 쿠버네티스 포드의 자원 사용률에 따라 동적으로 쿠버네티스 포드에 할당된 자원을 조절할 수 있는 자원 프로비저닝 방법을 제공하기 위한 것이다. The present invention is to provide a resource provisioning method capable of dynamically adjusting resources allocated to Kubernetes pods according to resource usage rates of Kubernetes pods.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 워커 노드로부터, 상기 워커 노드에 포함된 타겟 포드의 자원 사용률 정보를 수집하는 단계; 제1시간 윈도우에서 수집된 상기 자원 사용률 정보를 이용하여, 상기 제1시간 윈도우로부터 제1시간 간격만큼 이격된 제2시간 윈도우에 대한 상기 타겟 포드의 자원 사용률을 예측하고, 자원 사용률 예측 정보를 생성하는 단계; 및 상기 자원 사용률 예측 정보를 이용하여, 상기 타겟 포드에 대한 자원 제한값을 계산하는 단계; 및 상기 자원 제한값을 상기 워커 노드로 전송하는 단계를 포함하는 쿠버네티스 포드를 위한 자원 프로비저닝 방법이 제공된다. According to an embodiment of the present invention for achieving the above object, collecting, from a worker node, resource utilization information of a target pod included in the worker node; Using the resource utilization information collected in the first time window, the resource utilization rate of the target pod for a second time window spaced apart from the first time window by a first time interval is predicted, and resource utilization prediction information is generated. doing; and calculating a resource limit value for the target pod using the resource usage rate prediction information. and transmitting the resource limit value to the worker node. A resource provisioning method for a Kubernetes pod is provided.

또한 상기한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 제1시간 윈도우에서 수집된 타겟 포드에 대한 자원 사용률 정보로부터 생성된 제2시간 윈도우에서의 상기 타겟 포드에 대한 자원 제한값을, 마스터 노드로부터 수신하는 단계; 및 상기 자원 제한값에 따라서, 상기 타겟 포드에 대한 할당된 자원량을 조절하는 단계를 포함하며, 상기 제2시간 윈도우는, 상기 제1시간 윈도우로부터 미리 설정된 시간 간격만큼 이격된 시간 윈도우인 쿠버네티스 포드를 위한 자원 프로비저닝 방법 제공된다.In addition, according to another embodiment of the present invention for achieving the above object, the resource limit value for the target pod in the second time window generated from the resource utilization rate information for the target pod collected in the first time window, the master receiving from a node; and adjusting the allocated resource amount for the target pod according to the resource limit value, wherein the second time window is a time window spaced apart from the first time window by a predetermined time interval, the Kubernetes Pod A resource provisioning method is provided.

본 발명의 일실시예에 따르면, 포드의 자원 사용률을 예측하고 예측 시점에 포드의 자원량을 조절함으로써 자원이 효율적으로 사용될 수 있을 뿐만 아니라 포드에서 보다 안정적으로 서비스가 제공될 수 있다.According to an embodiment of the present invention, by estimating the resource usage rate of a pod and adjusting the resource amount of the pod at the predicted time point, not only the resource can be used efficiently, but also the service can be provided more stably in the pod.

도 1은 본 발명의 일실시예에 따른 쿠버네티스 환경의 가상화 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 쿠버네티스 포드를 위한 자원 프로비저닝 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 자원 사용률 예측 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 쿠버네티스 포드를 위한 자원 프로비저닝 방법을 설명하기 위한 도면이다.
1 is a diagram for explaining a virtualization system in a Kubernetes environment according to an embodiment of the present invention.
2 is a diagram for explaining a resource provisioning method for a Kubernetes pod according to an embodiment of the present invention.
3 is a diagram for explaining a resource usage rate prediction method according to an embodiment of the present invention.
4 is a diagram for explaining a resource provisioning method for a Kubernetes pod according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Like reference numerals have been used for like elements throughout the description of each figure.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 쿠버네티스 환경의 가상화 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a virtualization system in a Kubernetes environment according to an embodiment of the present invention.

쿠버네티스 환경의 가상화 시스템은 마스터 노드와 복수의 워커 노드를 포함하며, 마스터 노드와 복수의 워커 노드가 하나의 쿠버네티스 클러스터를 구성한다. 워커 노드는 컨테이너 기반의 가상화 서비스를 제공하는 서버이며, 마스터 노드는 워커 노드를 관리하는 서버일 수 있다. 도 1에서는 하나의 워커 노드가 포함된 가상화 시스템이 일실시예로서 설명된다.A virtualization system in a Kubernetes environment includes a master node and multiple worker nodes, and the master node and multiple worker nodes constitute a Kubernetes cluster. A worker node is a server that provides container-based virtualization services, and a master node may be a server that manages worker nodes. In FIG. 1, a virtualization system including one worker node is described as an embodiment.

마스터 노드(110)는 워커 노드(120)로부터 포드의 자원 사용률 정보를 수집한다. 자원 사용률 정보는 프로메테우스 툴을 통해 수집될 수 있다. 마스터 노드(110)는 과거부터 현재까지 수집된 자원 사용률 정보를 이용하여, 미래의 특정 시점에 대한 포드의 자원 사용률을 예측한다. 그리고 예측된 자원 사용률로부터 포드에 대한 자원 제한값을 결정하여 워커 노드(120)로 전송한다.The master node 110 collects pod resource utilization information from the worker node 120 . Resource utilization information may be collected through the Prometheus tool. The master node 110 predicts the resource utilization rate of a pod at a specific time point in the future using resource utilization information collected from the past to the present. Then, a resource limit value for the pod is determined from the predicted resource utilization rate and transmitted to the worker node 120 .

워커 노드(120)는 수신된 자원 제한값을 이용하여, 포드에 할당된 자원량을 조절한다. 워커 노드(120)는 자원 제한값 범위에서 자원량을 조절할 수 있으며, 자원 제한값이 클수록, 포드에 할당되는 자원량은 증가할 수 있다. The worker node 120 adjusts the amount of resources allocated to the pod using the received resource limit value. The worker node 120 may adjust the amount of resources within a range of resource limit values, and as the resource limit value increases, the amount of resources allocated to the pod may increase.

도 1을 참조하면, 마스터 노드(110)는 모니터링 모듈(111), RP(Resource Predictor) 모듈(112) 및 DRC(Dynamic Resource Calculator) 모듈(113)을 포함할 수 있으며, 워커 노드는 익스포터(exporter, 121), DRA 모듈(122) 및 적어도 하나의 포드(123, 124)를 포함할 수 있다. 도 1에서는 2개의 포드(123, 124)가 생성된 실시예가 설명된다.Referring to FIG. 1, the master node 110 may include a monitoring module 111, a resource predictor (RP) module 112, and a dynamic resource calculator (DRC) module 113, and the worker node is an exporter , 121), a DRA module 122 and at least one pod 123, 124. In Figure 1, an embodiment in which two pods 123 and 124 are created is described.

익스포터(121)는 포드(123, 124)에 대한 자원 사용률 정보를 생성하여, 모니터링 모듈(111)로 전송한다. 자원 사용률 정보는 워커 노드 리스트에 포함된 워커 노드별, 그리고 각각의 워커 노드의 포드 리스트에 포함된 포드 별로 생성될 수 있다.The exporter 121 generates resource utilization information for the pods 123 and 124 and transmits it to the monitoring module 111 . The resource utilization information may be generated for each worker node included in the worker node list and for each pod included in the pod list of each worker node.

RP 모듈(112)는 모니터링 모듈(111)에서 수집된 자원 사용률 정보를 이용하여, 미래의 특정 시점에 대한 포드(123, 124)의 자원 사용률을 예측한다. RP 모듈(112)는 미리 학습된 인공 신경망을 이용하여 자원 사용률을 예측할 수 있으며, 자원 사용률 정보가 시계열 데이터이기 때문에, LSTM(Long Short-Term Memory) 기반의 인공 신경망이 이용될 수 있다.The RP module 112 predicts the resource utilization rate of the pods 123 and 124 for a specific time point in the future using the resource utilization information collected by the monitoring module 111 . RP module 112 can predict resource utilization using a pre-learned artificial neural network, and since the resource utilization information is time-series data, a long short-term memory (LSTM)-based artificial neural network can be used.

DRC 모듈(113)은 예측된 자원 사용률이 사용 가능한 정보인지 여부를 확인하고, 사용 가능한 정보인 경우 예측된 자원 사용률을 이용하여 자원 제한값을 계산한다. 만일 예측된 자원 사용률이 사용 불가능한 정보인 경우, DRC 모듈(113)은 포드의 현재 자원 사용률 정보에 기반하여 자원 제한값을 계산한다. The DRC module 113 checks whether the predicted resource usage rate is available information, and if the information is available, calculates a resource limit value using the predicted resource usage rate. If the predicted resource utilization rate is unusable information, the DRC module 113 calculates a resource limit value based on the current resource utilization rate information of the pod.

DRA 모듈(122)은 DRC 모듈(112)로부터 제공된 자원 제한값을 이용하여, 포드에 할당된 자원량을 조절한다. 예측된 자원 사용률에 기반한 자원 제한값을 이용할 경우, 미래 특정 시점에 포드의 자원량을 조절하며, 현재 자원 사용률 정보에 기반한 자원 제한값을 이용할 경우, 현재 시점에 포드의 자원량을 조절한다. DRA 모듈(122)은 계산된 자원 제한값에 따라서 포드에 대한 자원을 제한함으로써 포드의 자원량을 조절할 수 있으며, 쿠버네티스 명령어를 이용하거나 ccgroup 파일을 수정하여, 포드에 대한 자원을 제한할 수 있다.The DRA module 122 adjusts the amount of resources allocated to the Pod using the resource limit value provided from the DRC module 112. When the resource limit value based on the predicted resource utilization rate is used, the resource amount of the pod is adjusted at a specific time in the future, and when the resource limit value based on the current resource utilization rate information is used, the resource amount of the pod is adjusted at the current time point. The DRA module 122 may adjust the resource amount of the pod by limiting the resource of the pod according to the calculated resource limit value, and may limit the resource of the pod by using a Kubernetes command or by modifying a ccgroup file.

현재 수집된 자원 사용률 정보에 기반하여 포드에 할당된 자원량을 실시간으로 조절할 경우, 다양한 변수에 의해 포드에 대한 자원 할당이 불안정해지고, 복수의 포드가 안정적으로 서비스를 제공하기 어려워질 수 있다. 예컨대, 현재 자원 사용률이 높은 제1포드로 자원이 집중된 상태에서, 제2포드의 자원 사용률이 증가하는 경우, 제1포드의 자원 사용률 역시 높기 때문에, 제1포드의 자원이 제2포드로 분배되기 어려우며, 따라서 제2포드가 안정적으로 서비스하기 어려울 수 있다. 하지만 본 발명의 일실시예는, 제2포드의 자원 사용률을 예측하여, 제2포드의 자원 사용률이 높아지는 시점에 제2포드로 자원을 분배하기 때문에, 제2포드 역시 안정적으로 서비스를 제공할 수 있다.When the amount of resources allocated to pods is adjusted in real time based on currently collected resource utilization information, resource allocation to pods becomes unstable due to various variables, and it may be difficult for a plurality of pods to stably provide services. For example, in a state in which resources are concentrated on a first pod with a high resource utilization rate and the resource utilization rate of a second pod increases, since the resource utilization rate of the first pod is also high, the resources of the first pod are distributed to the second pod. It is difficult, and thus it may be difficult for the second pod to stably service. However, since an embodiment of the present invention predicts the resource usage rate of the second pod and distributes resources to the second pod at the time when the resource usage ratio of the second pod increases, the second pod can also stably provide services. there is.

결국 본 발명의 일실시예에 따르면, 포드의 자원 사용률을 예측하고 예측 시점에 포드의 자원량을 조절함으로써 자원이 효율적으로 사용될 수 있을 뿐만 아니라 포드에서 보다 안정적으로 서비스가 제공될 수 있다.After all, according to an embodiment of the present invention, by predicting the resource usage rate of a pod and adjusting the resource amount of the pod at the predicted time point, not only the resources can be used efficiently, but also the service can be provided more stably in the pod.

도 2는 본 발명의 일실시예에 따른 쿠버네티스 포드를 위한 자원 프로비저닝 방법을 설명하기 위한 도면으로서, 도 2에서는 마스터 노드에서 수행되는 자원 프로비저닝 방법이 설명된다.2 is a diagram for explaining a resource provisioning method for a Kubernetes pod according to an embodiment of the present invention. In FIG. 2, a resource provisioning method performed in a master node is described.

도 2를 참조하면, 본 발명의 일실시예에 따른 마스터 노드는 워커 노드로부터, 워커 노드에 포함된 타겟 포드의 자원 사용률 정보를 수집(S210)한다. 마스터 노드는 미리 설정된 수집 주기에 따라서, 타겟 포드에 할당된 자원 종류 별로 자원 사용률 정보를 수집한다. 자원은 예컨대, CPU, GPU, 메모리 및 블록 입출력(I/O) 자원 등일 수 있다.Referring to FIG. 2 , the master node according to an embodiment of the present invention collects resource utilization information of the target pod included in the worker node from the worker node (S210). The master node collects resource utilization information for each resource type allocated to the target pod according to a preset collection period. The resources may be, for example, CPU, GPU, memory, and block input/output (I/O) resources.

그리고 마스터 노드는 제1시간 윈도우에서 수집된 자원 사용률 정보를 이용하여, 제1시간 윈도우로부터 제1시간 간격만큼 이격된 제2시간 윈도우에 대한 타겟 포드의 자원 사용률을 예측하고, 자원 사용률 예측 정보를 생성(S220)한다. 여기서 시간 윈도우란, 미리 설정된 길이의 시간 구간을 의미하며, 제1시간 윈도우는 과거에서 현재까지의 시간 구간에 대응되며, 제2시간 윈도우는 미래의 제1시점에서 제2시점까지의 시간 구간에 대응된다. And the master node predicts the resource utilization rate of the target pod for a second time window spaced apart by a first time interval from the first time window using the resource utilization information collected in the first time window, and transmits the resource utilization prediction information. Create (S220). Here, the time window means a time interval of a preset length, the first time window corresponds to a time interval from the past to the present, and the second time window corresponds to a time interval from a first time point to a second time point in the future. Corresponds.

일실시예로서 제1시간 윈도우는 현재 시점부터 6시간 이전까지의 시간 구간에 대응될 수 있으며, 제1시간 윈도우로부터 1시간이 이격된 제2시간 윈도우는 1시간 구간에 대응될 수 있다. 이 경우, 6시간 동안 수집된 자원 사용율 정보로부터, 현재로부터 1시간 이후 시점에서부터 1시간 동안의 자원 사용률이 예측될 수 있다.As an embodiment, the first time window may correspond to a time interval from the current point in time to 6 hours before, and the second time window separated by 1 hour from the first time window may correspond to a 1-hour interval. In this case, the resource usage rate for 1 hour from the point of time 1 hour after the present can be estimated from the resource usage rate information collected for 6 hours.

단계 S220에서 마스터 노드는 미리 학습된 인공 신경망을 이용하여, 자원 사용률 예측 정보를 생성할 수 있다. 인공 신경망은 제1시간 윈도우에서 수집된 훈련용 자원 사용률 정보에 기반하여, 제2시간 윈도우에 대한 포드의 자원 사용률을 예측하도록 학습될 수 있다. 이를 위해, 제1시간 윈도우에서 수집된 포드의 자원 사용률과, 제2시간 윈도우에서 수집된 포드의 자원 사용률이 훈련 데이터로 이용될 수 있다. 실시예에 따라서 복수의 인공 신경망이 이용될 수 있으며, 복수의 인공 신경망은 각각 CPU, GPU, 메모리 및 블록 입출력(I/O) 자원에 대한 자원 사용률을 예측하도록 학습될 수 있다.In step S220, the master node may generate resource usage rate prediction information using a pre-learned artificial neural network. The artificial neural network may be trained to predict the resource usage rate of the pod for the second time window based on the training resource usage rate information collected in the first time window. To this end, the resource usage rate of pods collected in the first time window and the resource usage rate of pods collected in the second time window may be used as training data. According to embodiments, a plurality of artificial neural networks may be used, and each of the plurality of artificial neural networks may be trained to predict resource usage rates for CPU, GPU, memory, and block input/output (I/O) resources.

본 발명의 일실시예에 따른 마스터 노드는 예측된 자원 사용률 즉, 자원 사용률 예측 정보를 이용하여, 타겟 포드에 대한 자원 제한값을 계산(S230)한다. 예측된 자원 사용률이 클수록 자원 제한값은 높은 값으로 결정된다. 이 때, 마스터 노드는 타겟 포드에 할당된 자원 종류 별로 생성된 자원 사용률 예측 정보를 이용하여, 타겟 포드에 할당된 자원 종류 별로 자원 제한값을 계산할 수 있다.The master node according to an embodiment of the present invention calculates a resource limit value for the target pod using the predicted resource utilization rate, that is, resource utilization prediction information (S230). As the predicted resource utilization rate increases, the resource limit value is determined as a higher value. At this time, the master node may calculate a resource limit value for each type of resource allocated to the target pod using resource utilization prediction information generated for each type of resource allocated to the target pod.

단계 S230에서 마스터 노드는 자원 사용률 예측 정보의 가용성 여부에 따라서 자원 제한값을 계산할 수 있다. 마스터 노드는 예측된 자원 사용률이 미리 설정된 임계 사용률보다 큰 경우, 자원 사용률 예측 정보의 가용성이 인정된다고 판단하고, 자원 사용률 예측 정보를 이용하여, 자원 제한값을 계산할 수 있다. 여기서, 미리 설정된 임계 사용률은 0일 수 있다.In step S230, the master node may calculate a resource limit value according to availability of resource utilization prediction information. When the predicted resource usage rate is greater than the preset critical usage rate, the master node may determine that availability of the resource usage rate prediction information is acknowledged and calculate a resource limit value using the resource usage rate prediction information. Here, the preset critical usage rate may be zero.

예측된 자원 사용률이 0이거나 0보다 작은 경우에, 마스터 노드는, 포드가 비활성화되어 있거나 자원 사용률 예측에 에러가 발생하여 자원 사용률 예측 정보를 이용할 수 없다고 판단하고, 타겟 포드에 대한 현재 자원 사용률 정보를 이용하여, 자원 제한값을 계산한다. 현재 자원 사용률이 높으면 자원 제한값도 커지며, 현재 자원 사용률이 낮으면 자원 제한값도 낮아진다.If the predicted resource utilization rate is 0 or less than 0, the master node determines that the resource utilization prediction information is unavailable because the pod is inactive or an error occurs in resource utilization prediction, and presents the current resource utilization information for the target pod. It is used to calculate the resource limit value. If the current resource utilization rate is high, the resource limit value is also increased, and if the current resource utilization rate is low, the resource limit value is also decreased.

마스터 노드는 일실시예로서, 현재 자원 사용률이 98% 이상일 경우 제1히트 포인트를 초기값에서 1씩 증가시키며, 자원 사용률 정보 수집 주기에 따라 제1히트 포인트를 갱신하여 제1히트 포인트가 6이상일 경우 타겟 포드에 할당된 자원이 부족하다고 판단하여 타겟 포드의 자원 제한값을 10% 증가시킨다. 반대로 현재 자원 사용률이 50% 미만일 경우 제2히트 포인트를 초기값에서 1씩 증가시키며, 자원 사용률 정보 수집 주기에 따라 제1히트 포인트를 갱신하여 제1히트 포인트가 6이상일 경우 타겟 포드에 할당된 자원이 낭비되고 있다고 판단하여 타겟 포드의 자원 제한값을 30% 감소시킨다.As an embodiment, the master node increases the first hit point by 1 from the initial value when the current resource utilization rate is 98% or more, and updates the first hit point according to the resource utilization information collection period so that the first hit point is 6 or more. In this case, it is determined that the resources allocated to the target pod are insufficient, and the resource limit value of the target pod is increased by 10%. Conversely, if the current resource utilization rate is less than 50%, the second hit point is increased by 1 from the initial value, and the first hit point is updated according to the resource utilization information collection cycle. Decreases the target pod's resource limit by 30%.

도 3은 본 발명의 일실시예에 따른 자원 사용률 예측 방법을 설명하기 위한 도면이다.3 is a diagram for explaining a resource usage rate prediction method according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 제2시간 윈도우(320)는 제1시간 윈도우(310)로부터 제1시간 간격(311)만큼 이격되며, 마스터 노드는 제2시간 윈도우(320)에 대응되는 시간동안의 타겟 포드의 자원 사용률을 예측한다. 즉, 마스터 노드는 제1시간 윈도우(310)의 시점에 대응되는 과거부터 제1시간 윈도우(310)의 종점에 대응되는 현재까지 수집된 자원 사용률 정보를 이용하여 제2시간 윈도우(320)의 시점에서부터부터 종점까지의 시간 구간에 대응되는 미래의 자원 사용률을 예측한다.As shown in FIG. 3, the second time window 320 is spaced apart from the first time window 310 by a first time interval 311, and the master node operates for a time corresponding to the second time window 320. predicts the resource utilization of the target pod of That is, the master node uses the resource utilization information collected from the past corresponding to the time of the first time window 310 to the present corresponding to the end point of the first time window 310 to start at the time of the second time window 320. A future resource utilization rate corresponding to the time interval from to the end point is predicted.

이 때, 마스터 노드는 제1시간 윈도우(310)를 주기적으로 제2시간 간격(312)만큼씩 이동하며, 자원 사용률 예측 정보를 생성한다. 이에, 실시간으로 갱신되는 자원 사용률 정보에 따라서 자원 사용률 에측 정보가 주기적으로 갱신될 수 있으며, 자원 제한값 역시 주기적으로 갱신될 수 있다.At this time, the master node periodically moves the first time window 310 by the second time interval 312 and generates resource usage rate prediction information. Accordingly, the resource usage rate prediction information may be periodically updated according to the resource usage rate information updated in real time, and the resource limit value may also be periodically updated.

그리고 실시예에 따라서 제1시간 간격(311) 또는 제2시간 간격(312)은 자원 사용률 예측 정보에 따라 조절될 수 있다. 예측된 자원 사용률이 증가할 경우, 마스터 노드가 타겟 포드의 자원 사용률을 보다 세밀하게 모니터링하여 자원 사용률 예측 정보를 생성할 수 있도록, 제1시간 간격(311) 또는 제2시간 간격(312)은 감소할 수 있다. 반대로 예측된 자원 사용률이 감소할 경우, 마스터 노드가 타겟 포드의 자원 사용률을 러프하게 모니터링하더라도 타겟 포드의 자원 할당에 문제가 없으므로, 제1시간 간격(311) 또는 제2시간 간격(312)은 증가할 수 있다. 제1시간 간격(311) 또는 제2시간 간격(312)이 증가함으로서, 자원 사용률 예측 정보 생성에 따른 비용이 감소할 수 있다.Also, according to embodiments, the first time interval 311 or the second time interval 312 may be adjusted according to resource utilization prediction information. When the predicted resource utilization rate increases, the first time interval 311 or the second time interval 312 is decreased so that the master node can more closely monitor the resource utilization rate of the target pod and generate resource utilization prediction information. can do. Conversely, when the predicted resource utilization rate decreases, the first time interval 311 or the second time interval 312 increases because there is no problem in resource allocation of the target pod even if the master node roughly monitors the resource utilization rate of the target pod. can do. As the first time interval 311 or the second time interval 312 increases, the cost of generating resource usage rate prediction information may decrease.

서로 다른 제1시간 간격에서 자원 사용률 예측 정보가 생성될 수 있도록 복수의 인공 신경망이 이용될 수 있다. 예컨대, 제1인공 신경망은 제1시간 윈도우로부터 30분 이후의 자원 사용률을 예측하도록 학습될 수 있으며, 제2인공 신경망은 제1시간 윈도우로부터 1시간 이후의 자원 사용률을 예측하도록 학습될 수 있다.A plurality of artificial neural networks may be used to generate resource usage rate prediction information at different first time intervals. For example, the first artificial neural network may be trained to predict the resource utilization rate 30 minutes after the first time window, and the second artificial neural network may be trained to predict the resource utilization rate after 1 hour from the first time window.

마스터 노드는 제1시간 간격에 대한 정보를, 자원 제한값과 함께 워커 노드로 전송할 수 있다.The master node may transmit information about the first time interval to the worker node along with a resource limit value.

도 4는 본 발명의 다른 실시예에 따른 쿠버네티스 포드를 위한 자원 프로비저닝 방법을 설명하기 위한 도면으로서, 도 4에서는 워커 노드에서 수행되는 자원 프로비저닝 방법이 설명된다.4 is a diagram for explaining a resource provisioning method for a Kubernetes pod according to another embodiment of the present invention. In FIG. 4, a resource provisioning method performed in a worker node is described.

도 4를 참조하면 본 발명의 일실시예에 따른 워커 노드는, 마스터 노드로부터 타겟 포드에 대한 자원 제한값을 수신(S410)한다. 여기서 자원 제한값은, 제1시간 윈도우에서 수집된 타겟 포드에 대한 자원 사용률 정보로부터 생성된 제2시간 윈도우에서의 타겟 포드에 대한 자원 제한값일 수 있다. 여기서, 제2시간 윈도우는, 제1시간 윈도우로부터 미리 설정된 시간 간격만큼 이격된 시간 윈도우에 대응된다.Referring to FIG. 4 , a worker node according to an embodiment of the present invention receives a resource limit value for a target pod from a master node (S410). Here, the resource limit value may be a resource limit value for the target pod in the second time window generated from resource utilization information on the target pod collected in the first time window. Here, the second time window corresponds to a time window spaced apart from the first time window by a preset time interval.

그리고 워커 노드는 수신된 자원 제한값에 따라서, 타겟 포드에 대한 할당된 자원량을 조절(S420)한다. 자원 제한값이 크다면 할당된 자원량은 증가하며, 자원 제한값이 작다면 할당된 자원량은 감소한다.Then, the worker node adjusts the allocated resource amount for the target pod according to the received resource limit value (S420). If the resource limit value is large, the allocated resource amount increases, and if the resource limit value is small, the allocated resource amount decreases.

자원 제한값이 제2시간 윈도우에서의 타겟 포드에 대한 값인 경우, 워커 노드는 제2시간 윈도우의 시점에, 제2시간 윈도우의 시점부터 종점까지, 자원 제한값에 따라서 자원량을 조절하되, 자원 제한 값이 임계값 이상인 경우, 제2시간 윈도우의 시점보다 앞선 시점에 자원량을 조절할 수 있다. 즉, 워커 노드는 제2시간 윈도우에 대응되는 시간 구간 동안 타겟 포드의 자원량을 조절하되, 제2시간 윈도우의 시점보다 먼저 타겟 포드의 자원량을 조절할 수 있다.If the resource limit value is the value for the target pod in the second time window, the worker node adjusts the resource amount according to the resource limit value at the time of the second time window, from the start point to the end point of the second time window, but the resource limit value is If it is equal to or greater than the threshold value, the amount of resources may be adjusted at a point in time prior to the point in time of the second time window. That is, the worker node may adjust the resource amount of the target pod during the time interval corresponding to the second time window, but may adjust the resource amount of the target pod prior to the time point of the second time window.

자원 제한 값이 임계값 이상인 경우는 타겟 포드의 요구 자원량이 많다는 것에 대응되며, 이 경우 타겟 포드의 자원이 부족하여 서비스가 불안정해지지 않도록, 워커 노드는 선제적으로 타겟 포드의 자원량을 조절할 수 있다.If the resource limit value is greater than or equal to the threshold value, it corresponds to the amount of resources required by the target pod. In this case, the worker node can preemptively adjust the amount of resources of the target pod so that the service does not become unstable due to insufficient resources in the target pod.

또는 단계 S410에서 수신되는 자원 제한값은, 타겟 포드에 대한 현재 자원 사용률 정보로부터 계산된 자원 제한값일 수 있다. 이 경우, 워커 노드는 현재 시점에 타겟 포드에 할당된 자원량을 조절한다.Alternatively, the resource limit value received in step S410 may be a resource limit value calculated from current resource utilization information on the target pod. In this case, the worker node adjusts the amount of resources allocated to the target pod at the current time.

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The technical contents described above may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiments or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. A hardware device may be configured to act as one or more software modules to perform the operations of the embodiments and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art in the field to which the present invention belongs can make various modifications and variations from these descriptions. Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the present invention. .

Claims (10)

워커 노드로부터, 상기 워커 노드에 포함된 타겟 포드의 자원 사용률 정보를 수집하는 단계;
제1시간 윈도우에서 수집된 상기 자원 사용률 정보를 이용하여, 상기 제1시간 윈도우로부터 제1시간 간격만큼 이격된 제2시간 윈도우에 대한 상기 타겟 포드의 자원 사용률을 예측하고, 자원 사용률 예측 정보를 생성하는 단계; 및
상기 자원 사용률 예측 정보를 이용하여, 상기 타겟 포드에 대한 자원 제한값을 계산하는 단계; 및
상기 자원 제한값을 상기 워커 노드로 전송하는 단계
를 포함하는 쿠버네티스 포드를 위한 자원 프로비저닝 방법.
Collecting, from a worker node, resource utilization information of a target pod included in the worker node;
Using the resource utilization information collected in the first time window, the resource utilization rate of the target pod for a second time window spaced apart from the first time window by a first time interval is predicted, and resource utilization prediction information is generated. doing; and
calculating a resource limit value for the target pod using the resource usage rate prediction information; and
Transmitting the resource limit value to the worker node
Resource provisioning methods for Kubernetes pods, including.
제 1항에 있어서,
상기 자원 사용률 예측 정보를 생성하는 단계는
상기 제1시간 윈도우를 제2시간 간격만큼씩 이동하며, 상기 자원 사용률 예측 정보를 생성하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 1,
Generating the resource utilization prediction information
Moving the first time window by a second time interval and generating the resource utilization prediction information
How to provision resources for Kubernetes pods.
제 2항에 있어서,
상기 제1시간 간격 또는 제2시간 간격은
상기 자원 사용률 예측 정보에 따라 조절되는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 2,
The first time interval or the second time interval is
Adjusted according to the resource utilization prediction information
How to provision resources for Kubernetes pods.
제 1항에 있어서,
상기 자원 사용률 정보를 수집하는 단계는
상기 타겟 포드에 할당된 자원 종류 별로 상기 자원 사용률 정보를 수집하며,
상기 타겟 포드에 대한 자원 제한값을 계산하는 단계는
상기 타겟 포드에 할당된 자원 종류 별로 생성된 상기 자원 사용률 예측 정보를 이용하여, 상기 타겟 포드에 할당된 자원 종류 별로 자원 제한값을 계산하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 1,
The step of collecting the resource utilization information is
Collecting the resource utilization information for each type of resource allocated to the target pod;
Calculating the resource limit value for the target pod includes
Calculating a resource limit value for each resource type allocated to the target pod using the resource utilization prediction information generated for each resource type allocated to the target pod
How to provision resources for Kubernetes pods.
제 1항에 있어서,
상기 포드에 대한 자원 제한값을 계산하는 단계는
상기 예측된 자원 사용률이 미리 설정된 임계 사용률보다 큰 경우, 상기 자원 사용률 예측 정보를 이용하여, 상기 자원 제한값을 계산하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 1,
Calculating the resource limit value for the pod is
Calculating the resource limit value using the resource usage rate prediction information when the predicted resource usage rate is greater than the preset threshold usage rate
How to provision resources for Kubernetes pods.
제 5항에 있어서,
상기 포드에 대한 자원 제한값을 계산하는 단계는
상기 예측된 자원 사용률이 상기 임계 사용률 이하이거나, 상기 자원 사용률이 미예측된 경우, 상기 타겟 포드에 대한 현재 자원 사용률 정보를 이용하여, 상기 자원 제한값을 계산하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 5,
Calculating the resource limit value for the pod is
Calculating the resource limit value using current resource utilization information for the target pod when the predicted resource utilization rate is less than or equal to the threshold utilization rate or the resource utilization rate is unpredicted
How to provision resources for Kubernetes pods.
제 1항에 있어서,
상기 자원 사용률 예측 정보를 생성하는 단계는
상기 제1시간 윈도우에서 수집된 훈련용 자원 사용률 정보에 기반하여, 상기 제2시간 윈도우에 대한 포드의 자원 사용률을 예측하도록 학습된 인공 신경망을 이용하여, 상기 자원 사용률 예측 정보를 생성하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 1,
Generating the resource utilization prediction information
Based on the resource utilization information for training collected in the first time window, generating the resource utilization prediction information using an artificial neural network learned to predict the resource utilization rate of the pod for the second time window
How to provision resources for Kubernetes pods.
제1시간 윈도우에서 수집된 타겟 포드에 대한 자원 사용률 정보로부터 생성된 제2시간 윈도우에서의 상기 타겟 포드에 대한 자원 제한값을, 마스터 노드로부터 수신하는 단계; 및
상기 자원 제한값에 따라서, 상기 타겟 포드에 대한 할당된 자원량을 조절하는 단계를 포함하며,
상기 제2시간 윈도우는, 상기 제1시간 윈도우로부터 미리 설정된 시간 간격만큼 이격된 시간 윈도우인
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
Receiving, from a master node, a resource limit value for a target pod in a second time window generated from resource usage rate information for a target pod collected in a first time window; and
Adjusting the amount of resources allocated to the target Pod according to the resource limit value;
The second time window is a time window spaced apart from the first time window by a preset time interval.
How to provision resources for Kubernetes pods.
제 8항에 있어서,
상기 타겟 포드에 대한 할당된 자원량을 조절하는 단계는
상기 제2시간 윈도우의 시점에, 상기 제2시간 윈도우의 시점부터 종점까지, 상기 자원량을 조절하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 8,
The step of adjusting the amount of resources allocated to the target pod is
At the time of the second time window, adjusting the amount of the resource from the start to the end of the second time window
How to provision resources for Kubernetes pods.
제 9항에 있어서,
상기 타겟 포드에 대한 할당된 자원량을 조절하는 단계는
상기 자원 제한값이 임계값 이상인 경우, 상기 제2시간 윈도우의 시점보다 앞선 시점에 상기 자원량을 조절하는
쿠버네티스 포드를 위한 자원 프로비저닝 방법.
According to claim 9,
The step of adjusting the amount of resources allocated to the target pod is
When the resource limit value is greater than or equal to the threshold value, adjusting the resource amount at a time point earlier than the time point of the second time window
How to provision resources for Kubernetes pods.
KR1020210162016A 2021-11-23 2021-11-23 Resource provisioning method for kubernetes pods KR102621092B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210162016A KR102621092B1 (en) 2021-11-23 2021-11-23 Resource provisioning method for kubernetes pods
PCT/KR2022/013599 WO2023096109A1 (en) 2021-11-23 2022-09-13 Resource provisioning method for kubernetes pod

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210162016A KR102621092B1 (en) 2021-11-23 2021-11-23 Resource provisioning method for kubernetes pods

Publications (2)

Publication Number Publication Date
KR20230075634A true KR20230075634A (en) 2023-05-31
KR102621092B1 KR102621092B1 (en) 2024-01-05

Family

ID=86539951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162016A KR102621092B1 (en) 2021-11-23 2021-11-23 Resource provisioning method for kubernetes pods

Country Status (2)

Country Link
KR (1) KR102621092B1 (en)
WO (1) WO2023096109A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6268731U (en) * 1985-10-17 1987-04-30
KR102230901B1 (en) * 2020-11-06 2021-03-22 건국대학교 산학협력단 Quality of service support method and apparatus for cloud resource management
KR102261263B1 (en) * 2019-12-23 2021-06-07 건국대학교 산학협력단 Method and apparatus for adaptive management of cloud resources to eliminate interference and bottleneck between cloud resources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712950B2 (en) * 2010-04-29 2014-04-29 Microsoft Corporation Resource capacity monitoring and reporting
CN114930293A (en) * 2019-06-12 2022-08-19 Snyk有限公司 Predictive auto-expansion and resource optimization
US11182196B2 (en) * 2019-11-13 2021-11-23 Vmware, Inc. Unified resource management for containers and virtual machines
KR102245341B1 (en) * 2020-09-11 2021-04-28 한국전자기술연구원 Method for apply predictive model for workload distribution within the cloud edge

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6268731U (en) * 1985-10-17 1987-04-30
KR102261263B1 (en) * 2019-12-23 2021-06-07 건국대학교 산학협력단 Method and apparatus for adaptive management of cloud resources to eliminate interference and bottleneck between cloud resources
KR102230901B1 (en) * 2020-11-06 2021-03-22 건국대학교 산학협력단 Quality of service support method and apparatus for cloud resource management

Also Published As

Publication number Publication date
WO2023096109A1 (en) 2023-06-01
KR102621092B1 (en) 2024-01-05

Similar Documents

Publication Publication Date Title
CN108089921B (en) Server for cloud big data operation architecture and operation resource optimization method thereof
JP6457447B2 (en) Data center network traffic scheduling method and apparatus
CN101593133B (en) Method and device for load balancing of resources of virtual machine
US11216310B2 (en) Capacity expansion method and apparatus
EP3410301A1 (en) Virtual network function resource allocation
JP5218390B2 (en) Autonomous control server, virtual server control method and program
CN114930293A (en) Predictive auto-expansion and resource optimization
EP2894827B1 (en) Method, apparatus, and system for managing migration of virtual machine
US10705873B2 (en) Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
CN111414070B (en) Case power consumption management method and system, electronic device and storage medium
EP3557418B1 (en) Resource management of resource-controlled system
US10198295B2 (en) Mechanism for controlled server overallocation in a datacenter
US20120317069A1 (en) Throughput sustaining support system, device, method, and program
CN112165436A (en) Flow control method, device and system
CN103108020A (en) Service collaboration device, service collaboration method, and computer-readable recording medium
WO2021013185A1 (en) Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium
KR102621092B1 (en) Resource provisioning method for kubernetes pods
Zhang et al. PRMRAP: A proactive virtual resource management framework in cloud
CN113254191A (en) Method, electronic device and computer program product for running applications
US11277354B2 (en) Dynamic adjustment of workload forecast
KR102284264B1 (en) Cloud system and control method thereof
JP7239861B2 (en) Resource allocation device, resource allocation method, and resource allocation program
KR101081286B1 (en) Apparatus for redirecting server based on availability and the same method
US20240202041A1 (en) Method, apparatus and system for automatically scaling dynamic computing resources based on predicted traffic patterns
CN117170881B (en) Resource regulation method and device, storage medium and processor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right