Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження

dc.citation.epage92
dc.citation.issue2
dc.citation.journalTitleІнфокомунікаційні технології та електронна інженерія
dc.citation.spage82
dc.citation.volume4
dc.contributor.affiliationНаціональний університет “Львівська політехніка”
dc.contributor.affiliationLviv Polytechniс National University
dc.contributor.authorФедоришин, Б.
dc.contributor.authorКрасько, О.
dc.contributor.authorFedoryshyn, B.
dc.contributor.authorKrasko, O.
dc.coverage.placenameЛьвів
dc.coverage.placenameLviv
dc.date.accessioned2025-11-03T11:06:30Z
dc.date.created2024-12-10
dc.date.issued2024-12-10
dc.description.abstractУ статті розглянуто проблему масштабування мікросервісів у кластері Kubernetes, підходи до масштабування мікросервісної архітектури та запропоновано підхід до масштабування із міграцією частини компонентів. На відміну від найпоширеніших підходів горизонтального та вертикального масштабування, для здійснення яких необхідно виділяти додаткові ресурси, суть запропонованого підходу полягає в міграції частини компонентів, які не є критично важливими для кінцевого користувача системи, на інший Kubernetes кластер. Запропонований підхід дає змогу звільнити ресурси на кластері, в якому збільшується навантаження, без необхідності залучення додаткових ресурсів. Це, своєю чергою, зменшує вартість обслуговування системи. Також здійснено порівняння реактивного та проактивного підходів до прийняття системою рішення про масштабування. Вибрано проактивний підхід до прийняття рішення, оскільки, на відміну від реактивного підходу, за яким масштабу- вання відбувається як реакція на збільшення навантаження в системі, в проактивному підході рішення про масштабування приймають на основі прогнозованих даних, ще до того, як реальне навантаження на систему почне зростати, що дасть змогу зберегти показник якості обслуговування QOS на хорошому рівні. Для вибору найоптимальнішого способу прогнозування навантаження розглянуто відомі моделі прогнозування та здійснено практичне порівняння моделей прогнозування ARIMA, Prophet, LSTM. У результаті порівняння вибрано ARIMA як модель для реалізації запропонованого підходу, реалізовано запропонований підхід у вигляді docker контейнера з python застосунком всередині. Цей застосунок отримує дані про систему з Prometheus бази даних та здійснює прогнозування, після чого змінює конфігураційні файли із описанням розгортання для ArgoCD та зберігає зміни в Git репозиторії. Після того як змінені конфігураційні файли потрапляють у Git репозиторій, ArgoCD отримує оновлену конфігурацію та порівнює її із поточним розгортанням. Якщо оновлена конфігурація відрізняється від наявного розгортання, ArgoCD автоматично переводить інфраструктуру до заданого стану.
dc.description.abstractThe article delves into the intricate challenge of scaling microservices within a Kubernetes cluster, thoroughly examining existing methodologies for scaling microservice architectures, and presenting a novel approach that involves migrating specific components. Unlike the conventional horizontal and vertical scaling strategies, which require additional resources, this proposed method focuses on migrating non-critical components to another Kubernetes cluster. This migration effectively frees up resources in the cluster experiencing increased load without necessitating extra resources, thus significantly reducing maintenance costs through lower server rental expenses. Furthermore, a detailed comparative analysis of reactive and proactive decision-making approaches for system scaling was conducted, with a preference shown for the proactive approach. Unlike the reactive method, where scaling is a response to an increase in load, the proactive approach relies on forecasted data to make scaling decisions before the actual load rises, thereby maintaining a high quality of service (QoS). To identify the most optimal load forecasting method, various models were reviewed and practically compared, including ARIMA, Prophet, and LSTM models. ARIMA was ultimately selected for implementing the proposed approach, realized as a Docker container with a Python application. This application retrieves system data from the Prometheus database and utilizes the ARIMA model for forecasting. Post-forecasting, it updates the deployment configuration files for ArgoCD and commits the changes to a Git repository. Once the updated configuration files are pushed to the Git repository, ArgoCD fetches the new configuration, compares it with the current deployment, and if there are discrepancies, automatically adjusts the infrastructure to the desired state. This approach not only optimizes resource usage within the Kubernetes cluster but also maintains high performance without incurring additional costs.
dc.format.extent82-92
dc.format.pages11
dc.identifier.citationФедоришин Б. Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження / Б. Федоришин, О. Красько // Інфокомунікаційні технології та електронна інженерія. — Львів : Видавництво Львівської політехніки, 2024. — Том 4. — № 2. — С. 82–92.
dc.identifier.citation2015Федоришин Б., Красько О. Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження // Інфокомунікаційні технології та електронна інженерія, Львів. 2024. Том 4. № 2. С. 82–92.
dc.identifier.citationenAPAFedoryshyn, B., & Krasko, O. (2024). Mihratsiia servisiv u klasteri Kubernetes na osnovi prohnozuvannia navantazhennia [Migration of services in a Kubernetes cluster based on workload forecasting]. Infocommunication technologies and electronic engineering, 4(2), 82-92. Lviv Politechnic Publishing House. [in Ukrainian].
dc.identifier.citationenCHICAGOFedoryshyn B., Krasko O. (2024) Mihratsiia servisiv u klasteri Kubernetes na osnovi prohnozuvannia navantazhennia [Migration of services in a Kubernetes cluster based on workload forecasting]. Infocommunication technologies and electronic engineering (Lviv), vol. 4, no 2, pp. 82-92 [in Ukrainian].
dc.identifier.doihttps://doi.org/10.23939/ictee2024.02.082
dc.identifier.urihttps://ena.lpnu.ua/handle/ntb/116931
dc.language.isouk
dc.publisherВидавництво Львівської політехніки
dc.publisherLviv Politechnic Publishing House
dc.relation.ispartofІнфокомунікаційні технології та електронна інженерія, 2 (4), 2024
dc.relation.ispartofInfocommunication technologies and electronic engineering, 2 (4), 2024
dc.relation.references[1] S. J. Taylor and B. Letham, “Forecasting at scale” in The American Statistician, vol. 72, no. 1, pp. 37–45, 2018.DOI: 10.1080/00031305.2017.1380080.
dc.relation.references[2] J. Hamilton, “Time Series Analysis” Princeton University Press, 1994. ISBN: 9780691042893.
dc.relation.references[3] B. Billah, M. King, R. Snyder, and A. Koehler, “Exponential smoothing model selection for forecasting” International Journal of Forecasting, vol. 22, pp. 239–247, 2006. DOI: 10.1016/j.ijforecast.2006.03.005.
dc.relation.references[4] B. Billah, M. King, R. Snyder, and A. Koehler, “Forecasting time series using a methodology based on autoregressive integrated moving average and genetic programming”, 2006.
dc.relation.references[5] A. Graves, “Long Short-Term Memory” Neural Networks, vol. 32, pp. 231–247, 2012. DOI:10.1016/j.neunet.2012.02.019.
dc.relation.references[6] C. Beneditto, A. Satrio, W. Darmawan, B. Unrica, and N. Hanafiah, “Time series analysis and forecasting of coronavirus disease in Indonesia using ARIMA model and PROPHET”, 2021.
dc.relation.references[7] R. Shumway and D. Stoffer, “ARIMA Models” Springer, 2017. DOI: 10.1007/978-3-319-52452-8.
dc.relation.references[8] F. Beetz and S. Harrer, “GitOps: The Evolution of DevOps?” 2021.
dc.relation.references[9] 2B. Yuen, A. Matyushentsev, T. Ekenstam, and J. Suen, “GitOps and Kubernetes: Continuous Deployment with Argo CD, Jenkins X, and Flux” O'Reilly Media, 2021. ISBN: 978-1492094317.
dc.relation.references[10] B. Yuen, A. Matyushentsev, T. Ekenstam, and J. Suen, “Forecasting Time Series Data with Facebook Prophet” Packt Publishing, 2021. ISBN: 978-1838982461.
dc.relation.referencesen[1] S. J. Taylor and B. Letham, "Forecasting at scale" in The American Statistician, vol. 72, no. 1, pp. 37–45, 2018.DOI: 10.1080/00031305.2017.1380080.
dc.relation.referencesen[2] J. Hamilton, "Time Series Analysis" Princeton University Press, 1994. ISBN: 9780691042893.
dc.relation.referencesen[3] B. Billah, M. King, R. Snyder, and A. Koehler, "Exponential smoothing model selection for forecasting" International Journal of Forecasting, vol. 22, pp. 239–247, 2006. DOI: 10.1016/j.ijforecast.2006.03.005.
dc.relation.referencesen[4] B. Billah, M. King, R. Snyder, and A. Koehler, "Forecasting time series using a methodology based on autoregressive integrated moving average and genetic programming", 2006.
dc.relation.referencesen[5] A. Graves, "Long Short-Term Memory" Neural Networks, vol. 32, pp. 231–247, 2012. DOI:10.1016/j.neunet.2012.02.019.
dc.relation.referencesen[6] C. Beneditto, A. Satrio, W. Darmawan, B. Unrica, and N. Hanafiah, "Time series analysis and forecasting of coronavirus disease in Indonesia using ARIMA model and PROPHET", 2021.
dc.relation.referencesen[7] R. Shumway and D. Stoffer, "ARIMA Models" Springer, 2017. DOI: 10.1007/978-3-319-52452-8.
dc.relation.referencesen[8] F. Beetz and S. Harrer, "GitOps: The Evolution of DevOps?" 2021.
dc.relation.referencesen[9] 2B. Yuen, A. Matyushentsev, T. Ekenstam, and J. Suen, "GitOps and Kubernetes: Continuous Deployment with Argo CD, Jenkins X, and Flux" O'Reilly Media, 2021. ISBN: 978-1492094317.
dc.relation.referencesen[10] B. Yuen, A. Matyushentsev, T. Ekenstam, and J. Suen, "Forecasting Time Series Data with Facebook Prophet" Packt Publishing, 2021. ISBN: 978-1838982461.
dc.rights.holder© Національний університет „Львівська політехніка“, 2024
dc.subjectKubernetes
dc.subjectпрогнозування навантаження
dc.subjectмасштабування
dc.subjectArgoCD
dc.subjectARIMA
dc.subjectKubernetes
dc.subjectworkload forecasting
dc.subjectscalability
dc.subjectArgoCD
dc.subjectARIMA
dc.subject.udc621.391
dc.titleМіграція сервісів у кластері Kubernetes на основі прогнозування навантаження
dc.title.alternativeMigration of services in a Kubernetes cluster based on workload forecasting
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2024v4n2_Fedoryshyn_B-Migration_of_services_82-92.pdf
Size:
1.55 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.78 KB
Format:
Plain Text
Description: