МЕТОДИ ЗБОРУ ІНФОРМАЦІЇ ТА РЕАЛІЗАЦІЇ АЛГОРИТМУ ДОПОВНЮВАЛЬНИХ НАВАНТАЖЕНЬ
DOI:
https://doi.org/10.26906/SUNZ.2024.4.056Ключові слова:
Kubernetes, збір метрик, доповняльні навантаження, хмарні системи, мікросервісна архітектура, монолітиАнотація
У статті розглядається проблема ефективного використання ресурсів у хмарних обчислювальних середовищах, що стає дедалі актуальнішою через зростання попиту на обчислювальні потужності. Представлений алгоритм оптимізації розподілу навантаження створеного мікросервісами та монолітами на серверні вузли, спрямований на максимізацію використання доступних ресурсів. Стаття зосереджена на описані технологій, які допоможуть повторити алгоритм локально з метою його тестування для власних потреб. Порівнюються методи збору метрик, а також середовища, у яких можна впровадити цей алгоритм. Особливу увагу приділено Kubernetes і можливості застосування різних механізмів розподілу мікросервісів, таких як Node Affinity, Pod Affinity/Anti-Affinity, а також власні планувальники (Custom Schedulers). Для проактивного масштабування включаючи "гарячий розігрів" вузлів запропоновано використання Horizontal Pod Autoscaler з використанням метрик роботи елементів системи.Завантаження
Посилання
“Що таке Kubernetes?,” Kubernetes. Accessed: Oct. 22, 2024. Available: https://kubernetes.io/uk/docs/concepts/overview/what-is-kubernetes/
O. Dmytrenko, M. Skulysh, and L. Globa, “Microservice Complimentary Groups Determination Algorithm for the Effective Resource Usage,” CEUR Workshop Proc. Forthcom., no. Scientific and Practical Programming-UkrPROG 2024, p. 20.
Docker. Available: https://www.docker.com/resources/what-container/
S. Al-Raheym, S. C. Açan, and Ö. T. Pusatli, “Investigation Of Amazon And Google For Fault Tolerance Strategies In Cloud Computing Services,” AJIT-E Online Acad. J. Inf. Technol., vol. 7, no. 23, pp. 7–22, Nov. 2016, doi: 10.5824/1309-1581.2016.4.001.x.
A. Belgacem, “Dynamic resource allocation in cloud computing: analysis and taxonomies,” Computing, vol. 104, no. 3, pp. 681–710, Mar. 2022, doi: 10.1007/s00607-021-01045-2.
E. R. Jamzuri, R. Analia, H. Mandala, and S. Susanto, “Cloud-Based Architecture for YOLOv3 Object Detector using gRPC and Protobuf,” J. Tek. Elektro, vol. Vol 14, No 1, pp. 18–23, 2022.
O. Dmytrenko and M. Skulysh, “Визначення мікропроцесорних груп для ефективного використання процесорних потужностей,” Probl. Program. Forthcom., no. №2-3, Sep. 2024, Available: https://docs.google.com/document/d/1ocqA-e7dOAibFVGiEE2UcxZRKgYNn_yPX6e94dHwYM/edit?usp=sharing
O. Dmytrenko and M. Skulysh, “Method of Grouping Complementary Microservices Using Fuzzy Lattice Theory,” vol. 12, no. 1, pp. 11–18, Mar. 2024, doi: 10.25673/115636.
“Що таке Prometheus? | Адміністрування серверів та cloud рішень.” Accessed: Oct. 22, 2024. Available:https://itfb.com.ua/uk/shho-take-prometheus/
Prometheus, “Overview | Prometheus.” Accessed: Oct. 23, 2024. Available: https://prometheus.io/docs/introduction/overview/
Prometheus, “Client libraries | Prometheus.”. Available: https://prometheus.io/docs/instrumenting/clientlibs/
P. Salot, “A Survey of Various Scheduling Algorithm in Cloud Computing Environment,” Int. J. Res. Eng. Technol., vol. 02, no. 02, pp. 131–135, Feb. 2013, doi: 10.15623/ijret.2013.0202008.
O. Dmytrenko and M. Skulysh, “Fault Tolerance Redundancy Methods for IoT Devices,” Infocommunication Comput. Technol., vol. 2(04), no. University “Ukraine,” pp. 59–65, Dec. 2022.
Kubernetes Team, “Kubernetes Scheduler.” Kubernetes Documentation, Dec. 14, 2023. Available: https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/
“Vertical Pod autoscaling | Google Kubernetes Engine (GKE),” Google Cloud. Accessed: Jul. 14, 2024. Available: https://cloud.google.com/kubernetes-engine/docs/concepts/verticalpodautoscaler
“Kubernetes Autoscaling: Horizontal and Vertical explained.” Accessed: Oct. 23, 2024. Available: https://www.fullstaq.com/knowledge-hub/blogs/autoscaling-in-kubernetes