DOI QR코드

DOI QR Code

An Improvement of Kubernetes Auto-Scaling Based on Multivariate Time Series Analysis

다변량 시계열 분석에 기반한 쿠버네티스 오토-스케일링 개선

  • Received : 2021.07.28
  • Accepted : 2021.10.20
  • Published : 2022.03.31

Abstract

Auto-scaling is one of the most important functions for cloud computing technology. Even if the number of users or service requests is explosively increased or decreased, system resources and service instances can be appropriately expanded or reduced to provide services suitable for the situation and it can improves stability and cost-effectiveness. However, since the policy is performed based on a single metric data at the time of monitoring a specific system resource, there is a problem that the service is already affected or the service instance that is actually needed cannot be managed in detail. To solve this problem, in this paper, we propose a method to predict system resource and service response time using a multivariate time series analysis model and establish an auto-scaling policy based on this. To verify this, implement it as a custom scheduler in the Kubernetes environment and compare it with the Kubernetes default auto-scaling method through experiments. The proposed method utilizes predictive data based on the impact between system resources and response time to preemptively execute auto-scaling for expected situations, thereby securing system stability and providing as much as necessary within the scope of not degrading service quality. It shows results that allow you to manage instances in detail.

오토-스케일링은 클라우드 컴퓨팅 기술이 ICT 핵심 기반 기술로 자리 잡을 수 있는 가장 중요한 기능 중 하나로써 사용자나 서비스 요청의 폭발적인 증가 또는 감소에도 시스템 자원과 서비스 인스턴스를 적절하게 확장 또는 축소하여 상황에 맞는 서비스의 안정성과 비용 대비 효과를 향상하는 기술이다. 하지만 특정 시스템 자원에 대한 모니터링 시점의 단일 메트릭 데이터를 기반으로 정책이 수립·실행되다 보니 이미 서비스에 영향이 있거나 실제 필요한 서비스 인스턴스를 세밀하게 관리하지 못하는 문제점이 있다. 이러한 문제점을 해결하기 위해서 본 논문에서는 시스템 자원과 서비스 응답시간을 다변량 시계열 분석 모델을 사용하여 분석·예측하고 이를 기반으로 오토-스케일링 정책을 수립하는 방안을 제안한다. 이를 검증하기 위해 쿠버네티스 환경에서 커스텀 스케쥴러를 구현하고, 실험을 통해 쿠버네티스 기본 오토-스케일링 방식과 비교 분석한다. 제안하는 기법은 시스템 자원과 응답시간 사이의 영향에 기반한 예측 데이터를 활용하여 예상되는 상황에 대한 오토-스케일링을 선제적으로 실행함으로써 시스템의 안정성을 확보하고 서비스 품질이 저하되지 않는 범위내에서 필요한 만큼의 인스턴스를 세밀하게 관리할 수 있는 결과를 보인다.

Keywords

References

  1. S. W. Ahn, "Changes in cloud virtualization technology - container-based cloud virtualization and DevOps," Issue Report of Software Policy & Research Institute, No.2018-008, pp.1-36, 2018.
  2. A. Fazli, A. Sayedi, and J. D. Shulman, "The effects of autoscaling in cloud computing," Journal of Management Science, Vol. 64, No.11, pp.5149-5163, 2018.
  3. M. A. Netto, C. Cardonha, R. L. Cunha, and M. D. Assuncao, "Evaluating auto-scaling strategies for cloud computing environments," 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems, IEEE, 2014.
  4. S. H. Eum and J. S. Kim, "Method for efficient storage resource management in docker container-based cloud environments," in Proceeding The Korean Institute of Information Scientists and Engineers, pp.1247-1249, Jul. 2020.
  5. M. S. Yhu, C. G. Song, H. C. Yu, and E. Y. Lee, "Task type based autoscaling criteria selection and performance analysis in Kubernetes cluster," in Proceeding the Korean Institute of Information Scientists and Engineers, pp.1382-1834, Jun. 2021.
  6. S. Y. Choi, "Cloud infrastructure abnormal monitoring using machine learning," Journal of the Korea Society of Computer and Information, Vol.25, No.4, pp.105-112, Apr. 2020. https://doi.org/10.9708/JKSCI.2020.25.04.105
  7. Y. H. Jang, J. W. Jeong, J. H. Lee, H. C. Yu, and E. Y. Lee, "Modelling the kubernetes horizontal pod autoscaler based on number of requests for comparing the autoscaling algorithm," in Proceeding the Korean Institute of Information Scientists and Engineers, pp.1385-1837, Jun. 2021.
  8. L. Toka, G. Dobreff, B. Fodor, and B. Sonkoly, "Machine learning-based scaling management for kubernetes edge clusters," IEEE Transactions on Network and Service Management, Vol.18, No.1, pp.958-972, 2021. https://doi.org/10.1109/TNSM.2021.3052837
  9. W. S. Choi, H. J. Chung, and Y. M. Nah, "Orchestration method for efficient resource management in containerbased cloud environments," Journal of Korean Institute of Next Generation Computing, Vol.15, No.2, pp.71-78, Apr. 2019.
  10. S. M. Jeong, J. G. Kim, K. H. Yeom, and J. S. Park, "Container orchestration framework deployment technique based on the feature of microservice," Journal of the Korean Institute of Communication Sciences, Vol.46, No.3, pp.466-475, Mar. 2021. https://doi.org/10.7840/kics.2021.46.3.466
  11. Kubernetes [Internet], https://kubernetes.io
  12. Docker Swarm [Internet], https://docs.docker.com/engine/swarm
  13. Apache Mesos [Internet], http://mesos.apache.org
  14. CNCF Kubernetes Projects [Internet], https://www.cncf.io/projects/kubernetes
  15. CNCF [Internet], https://www.cncf.io/reports/#cloud-native-surveys
  16. A. Nielsen, "Chapter.6 Satistical Models for Time Series," in Practical Time Series Analysis, Hanbit Media, Inc., pp.217-264, 2021.
  17. K. S. Moon, "A understanding of vector autoregressive model," Journal of the Korean Official Statistics, Vol.2 No.1, pp.23-56, Apr. 1997.
  18. Time Series Algorithm (Multivariate linear probability) [Internet], https://github.com/cheonbi/OnlineTSA/blob/master/Lecture4_Algorithms_TimeSeries_Linear_Multivariate_KK.ipynb
  19. K. I. Kim, et al., "Kubernetes Architecture for Cloud Service," Information and Communications Magazine, Vol.35, No.11, pp.11-19, Oct. 2018.
  20. statsmodels [Internet], https://www.statsmodels.org/stable/index.html
  21. JMeter [Internet], http://jmeter.apache.org/