Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження
| dc.citation.epage | 92 | |
| dc.citation.issue | 2 | |
| dc.citation.journalTitle | Інфокомунікаційні технології та електронна інженерія | |
| dc.citation.spage | 82 | |
| dc.citation.volume | 4 | |
| dc.contributor.affiliation | Національний університет “Львівська політехніка” | |
| dc.contributor.affiliation | Lviv Polytechniс National University | |
| dc.contributor.author | Федоришин, Б. | |
| dc.contributor.author | Красько, О. | |
| dc.contributor.author | Fedoryshyn, B. | |
| dc.contributor.author | Krasko, O. | |
| dc.coverage.placename | Львів | |
| dc.coverage.placename | Lviv | |
| dc.date.accessioned | 2025-11-03T11:06:30Z | |
| dc.date.created | 2024-12-10 | |
| dc.date.issued | 2024-12-10 | |
| dc.description.abstract | У статті розглянуто проблему масштабування мікросервісів у кластері Kubernetes, підходи до масштабування мікросервісної архітектури та запропоновано підхід до масштабування із міграцією частини компонентів. На відміну від найпоширеніших підходів горизонтального та вертикального масштабування, для здійснення яких необхідно виділяти додаткові ресурси, суть запропонованого підходу полягає в міграції частини компонентів, які не є критично важливими для кінцевого користувача системи, на інший Kubernetes кластер. Запропонований підхід дає змогу звільнити ресурси на кластері, в якому збільшується навантаження, без необхідності залучення додаткових ресурсів. Це, своєю чергою, зменшує вартість обслуговування системи. Також здійснено порівняння реактивного та проактивного підходів до прийняття системою рішення про масштабування. Вибрано проактивний підхід до прийняття рішення, оскільки, на відміну від реактивного підходу, за яким масштабу- вання відбувається як реакція на збільшення навантаження в системі, в проактивному підході рішення про масштабування приймають на основі прогнозованих даних, ще до того, як реальне навантаження на систему почне зростати, що дасть змогу зберегти показник якості обслуговування QOS на хорошому рівні. Для вибору найоптимальнішого способу прогнозування навантаження розглянуто відомі моделі прогнозування та здійснено практичне порівняння моделей прогнозування ARIMA, Prophet, LSTM. У результаті порівняння вибрано ARIMA як модель для реалізації запропонованого підходу, реалізовано запропонований підхід у вигляді docker контейнера з python застосунком всередині. Цей застосунок отримує дані про систему з Prometheus бази даних та здійснює прогнозування, після чого змінює конфігураційні файли із описанням розгортання для ArgoCD та зберігає зміни в Git репозиторії. Після того як змінені конфігураційні файли потрапляють у Git репозиторій, ArgoCD отримує оновлену конфігурацію та порівнює її із поточним розгортанням. Якщо оновлена конфігурація відрізняється від наявного розгортання, ArgoCD автоматично переводить інфраструктуру до заданого стану. | |
| dc.description.abstract | The 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.extent | 82-92 | |
| dc.format.pages | 11 | |
| dc.identifier.citation | Федоришин Б. Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження / Б. Федоришин, О. Красько // Інфокомунікаційні технології та електронна інженерія. — Львів : Видавництво Львівської політехніки, 2024. — Том 4. — № 2. — С. 82–92. | |
| dc.identifier.citation2015 | Федоришин Б., Красько О. Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження // Інфокомунікаційні технології та електронна інженерія, Львів. 2024. Том 4. № 2. С. 82–92. | |
| dc.identifier.citationenAPA | Fedoryshyn, 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.citationenCHICAGO | Fedoryshyn 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.doi | https://doi.org/10.23939/ictee2024.02.082 | |
| dc.identifier.uri | https://ena.lpnu.ua/handle/ntb/116931 | |
| dc.language.iso | uk | |
| dc.publisher | Видавництво Львівської політехніки | |
| dc.publisher | Lviv Politechnic Publishing House | |
| dc.relation.ispartof | Інфокомунікаційні технології та електронна інженерія, 2 (4), 2024 | |
| dc.relation.ispartof | Infocommunication 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.subject | Kubernetes | |
| dc.subject | прогнозування навантаження | |
| dc.subject | масштабування | |
| dc.subject | ArgoCD | |
| dc.subject | ARIMA | |
| dc.subject | Kubernetes | |
| dc.subject | workload forecasting | |
| dc.subject | scalability | |
| dc.subject | ArgoCD | |
| dc.subject | ARIMA | |
| dc.subject.udc | 621.391 | |
| dc.title | Міграція сервісів у кластері Kubernetes на основі прогнозування навантаження | |
| dc.title.alternative | Migration of services in a Kubernetes cluster based on workload forecasting | |
| dc.type | Article |