МЕТОДИ ТА МОДЕЛІ СКЛАДАННЯ РОЗКЛАДІВ ДЛЯ ОРКЕСТРАТОРА KUBERNETES
DOI:
https://doi.org/10.31649/1997-9266-2024-175-4-86-94Ключові слова:
Kubernetes, оркестрація, хмарні технології, хмарні обчислення, розклад, теорія розкладівАнотація
В умовах розвитку хмарних технологій, центри обробки даних все частіше використовують оркестратор Kubernetes, що сприяє ефективному управлінню контейнеризованими застосунками. Водночас Kubernetes не є досконалим, і його використання пов’язано з певними проблемами, серед яких можна виділити проблему складання ефективних розкладів. Її актуальність пояснюється тим, що не завжди вбудований модуль kube-scheduler будує найефективніші розклади. Актуальність підсилюється окремими випадками, в яких неефективно складений розклад призводив до неможливості розгорнути застосунок. Як критерій оптимізації вибрано максимізацію коефіцієнта середньої завантаженості вузла. Це зроблено з огляду на цілі центрів обробки даних зменшувати витрати на електроенергію та припущень про неефективність простою обчислювальних ресурсів. Визначено, що математично формалізовані обмеження як частини математичних моделей зазвичай згадуються у публікаціях, у яких розглядаються евристичні методи та метаевристичні методи. Всього визначено шість основних типів математично формалізованих обмежень; серед них найрозповсюдженим і найважливішим є обмеження на розмір пам’яті. Зазначено, що метод, який вибирається для розв’язання задачі, може бути пов’язаний з вибраним критерієм оптимізації. Загалом визначено дев’ять основних типів методів, що використовуються у задачах складання розкладів для Kubernetes. Серед них як найперспективніші вибрано три: методи штучного інтелекту, евристичні методи та метаевристичні методи. Цей вибір зроблено завдяки аналізу прикладів їхнього успішного застосування у разі складання розкладів з широким спектром критеріїв оптимізації (зокрема задач з критеріями, подібними до вибраного) як у тих хмарних середовищах, що застосовують Kubernetes, так і у тих, що його не застосовують.
Посилання
В. В. Коваленко, і Д. О. Вітковський, «Контейнерна технологія (оркестратор) управління виділеними хмарними ресурсами,» Інженерія програмного забезпечення і передові інформаційні технології (Soft Tech-2023), Київ, Україна, 19-21 груд. 2023. Київ: НТУУ «КПІ ім. Ігоря Сікорського», 2023, с. 173-177.
L. Golightly, V. Chang, Q. A. Xu, X. Gao, and B. S. C. Liu, “Adoption of cloud computing as innovation in the organization,” International Journal of Engineering Business Management, vol. 14, Jan. 2022. [Electronic resource]. Available: https://doi.org/10.1177/18479790221093992 .
K. Senjab, S. Abbas, N. Ahmed, and A. u. R. Khan, “A survey of Kubernetes scheduling algorithms,” Journal of Cloud Computing, vol. 12, no. 1, Jun. 2023. [Electronic resource]. Available: https://doi.org/10.1186/s13677-023-00471-1 .
“Overview,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/concepts/overview/ .
S. I. Shamim, “Mitigating security attacks in kubernetes manifests for security best practices violation,” in Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. New York, NY, USA: Assoc. Comput. Machinery, 2021, p. 1689-1690. [Electronic resource]. Available: https://doi.org/10.1145/3468264.3473495 .
A. Rahman, S. I. Shamim, D. B. Bose, and R. Pandita, “Security Misconfigurations in Open Source Kubernetes Manifests: An Empirical Study,” ACM Trans. Softw. Eng. Methodol., vol. 32, no. 4, May 2023. [Electronic resource]. Available: https://doi.org/10.1145/3579639 .
A. Aly, M. Fayez, M. Al-Qutt, and A. M. Hamad, “Multi-Class Threat Detection Using Neural Network and Machine Learning Approaches in Kubernetes Environments,” in 2024 6th International Conference on Computing and Informatics (ICCI). 2024, p. 103-108. [Electronic resource]. Available: https://doi.org/10.1109/ICCI61671.2024.10485133 .
R. Shevchuk, M. Karpinski, M. Kasianchuk, I. Yakymenko, A. Melnyk, and R. Tykhyi, “Software for Improve the Security of Kubernetes-based CI/CD Pipeline,” in 2023 13th International Conference on Advanced Computer Information Technologies (ACIT). 2023, p. 420-425. [Electronic resource]. Available: https://doi.org/10.1109/ACIT58437.2023.10275654 .
Á. Revuelta Martinez, “Study of Security Issues in Kubernetes (K8s) Architectures; Tradeoffs and Opportunities,” Uppsala Univ., Dept. Inf. Technol., 2023. [Electronic resource]. Available: https://www.diva-portal.org/smash/get/diva2:1781490/FULLTEXT01.pdf .
S. Gwak, T.-P. Doan, and S. Jung, “Container Instrumentation and Enforcement System for Runtime Security of Kubernetes Platform with eBPF,” Intelligent Automation & Soft Computing, vol. 37, no. 2, pp. 1773-1786, 2023. [Electronic resource]. Available: https://doi.org/10.32604/iasc.2023.039565 .
N. Nguyen, and T. Kim, “Toward Highly Scalable Load Balancing in Kubernetes Clusters,” IEEE Communications Magazine, vol. 58, no. 7, p. 78-83, 2020. [Electronic resource]. Available: https://doi.org/10.1109/MCOM.001.1900660 .
K. Takahashi, K. Aida, T. Tanjo, and J. Sun, “A Portable Load Balancer for Kubernetes Cluster,” in Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region. New York, NY, USA: Assoc. Comput. Machinery, 2018, p. 222-231. [Electronic resource]. Available: https://doi.org/10.1145/3149457.3149473 .
Q. Liu, E. Haihong, and M. Song, “The Design of Multi-Metric Load Balancer for Kubernetes,” in 2020 International Conference on Inventive Computation Technologies (ICICT), 2020, p. 1114-1117. [Electronic resource]. Available: https://doi.org/10.1109/ICICT48043.2020.9112373 .
A. Dua, S. Randive, A. Agarwal, and N. Kumar, “Efficient Load balancing to serve Heterogeneous Requests in Clustered Systems using Kubernetes,” in 2020 IEEE 17th Annual Consumer Communications & Networking Conference (CCNC), 2020, p. 1-2. [Electronic resource]. Available: https://doi.org/10.1109/CCNC46108.2020.9045136 .
Д. Гутман та O. Сирота, «Проактивне автоматичне масштабування вверх для Kuberneters,» Адаптивні системи автоматичного управління, т. 1, № 42, с. 32-38, трав. 2023. [Електронний ресурс]. Режим доступу: https://doi.org/10.20535/1560-8956.42.2023.278925 .
Я. Маєвський, та Н. Праворська, «Підвищеня ефективності автоматизації масштабування мікросервісів у системі керування контейнеризованими застосунками Kubernetes,» Вісник Хмельницького національного університету. Технічні науки, т. 313, № 5, с. 260-264, жовт. 2022. [Електронний ресурс]. Режим доступу: https://doi.org/10.31891/2307-5732-2022-313-5-260-264 .
T.-T. Nguyen, Y.-J. Yeom, T. Kim, D.-H. Park, and S. Kim, “Horizontal Pod Autoscaling in Kubernetes for Elastic Container Orchestration,” Sensors, vol. 20, no. 16, p. 4621, Aug. 2020. [Electronic resource]. Available: https://doi.org/10.3390/s20164621 .
M.-N. Tran, D.-D. Vu, and Y. Kim, “A Survey of Autoscaling in Kubernetes,” in 2022 Thirteenth International Conference on Ubiquitous and Future Networks (ICUFN), 2022, p. 263-265. [Electronic resource]. Available: https://doi.org/10.1109/ICUFN55119.2022.9829572 .
A. A. Khaleq, and I. Ra, “Intelligent Autoscaling of Microservices in the Cloud for Real-Time Applications,” IEEE Access, vol. 9, p. 35464-35476, 2021. [Electronic resource]. Available: https://doi.org/10.1109/ACCESS.2021.3061890 .
E. Zharikov, S. Telenyk, and P. Bidyuk, “Adaptive Workload Forecasting in Cloud Data Centers,” Journal of Grid Computing, vol. 18, no. 1, pp. 149-168, Nov. 2019. [Electronic resource]. Available: https://doi.org/10.1007/s10723-019-09501-2
“Viewing Pods and Nodes,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/ .
“Kubernetes Components,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/concepts/overview/components/ .
“Controllers,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/concepts/architecture/controller/ .
S. Prasad Lahu, “Dynamic Resources allocation using Priority Aware scheduling in Kubernetes,” MSc Research Project, Nat. College Ireland, 2019. [Electronic resource]. Available: https://norma.ncirl.ie/4137/1/prasadlahushelar.pdf .
“Configure Multiple Schedulers,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/tasks/extend-kubernetes/configure-multiple-schedulers/ .
T. Lebesbye, J. Mauro, G. Turin, and I. C. Yu, “Boreas – A Service Scheduler for Optimal Kubernetes Deployment,” in Service-Oriented Computing. Cham: Springer Int. Publishing, 2021, pp. 221-237. [Electronic resource]. Available: https://doi.org/10.1007/978-3-030-91431-8_14 .
Z. Rejiba, and J. Chamanara, “Custom Scheduling in Kubernetes: A Survey on Common Problems and Solution Approaches,” ACM Comput. Surv., vol. 55, no. 7, Dec. 2022. [Electronic resource]. Available: https://doi.org/10.1145/3544788 .
A. Mampage, S. Karunasekera, and R. Buyya, “Deep reinforcement learning for application scheduling in resource-constrained, multi-tenant serverless computing environments,” Future Generation Computer Systems, vol. 143, p. 277-292, 2023. [Electronic resource]. Available: https://doi.org/10.1016/j.future.2023.02.006 .
P. Townend et al., “Invited Paper: Improving Data Center Efficiency Through Holistic Scheduling In Kubernetes,” in 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), 2019, p. 156-15610. [Electronic resource]. Available: https://doi.org/10.1109/SOSE.2019.00030 .
A. James, and D. Schien, “A Low Carbon Kubernetes Scheduler,” 2019. [Electronic resource]. Available: https://ceur-ws.org/Vol-2382/ICT4S2019_paper_28.pdf .
Л. Ф. Гуляницький, і О. Ю. Мулеса, Прикладні методи комбінаторної оптимізації. Київ, Україна: Видавничо-полігр. центр «Київ. ун-т», 2016.
О. С. Жураковська, Теорія прийняття рішень. Київ: НТУУ «КПІ ім. Ігоря Сікорського», 2020. [Електронний ресурс]. Режим доступу: https://ela.kpi.ua/server/api/core/bitstreams/deaf214b-73d1-447f-8e2c-7ce1417e6d83/content .
R. Parthasarathi, Computer Architecture. INFLIBNET Cent., 2018. [Electronic resource]. Available: https://www.cs.umd.edu/~meesh/411/CA-online/ .
A. Chung, J. Park, and G. Ganger, “Stratus: cost-aware container scheduling in the public cloud,” 2018, p. 121-134. [Electronic resource]. Available: https://doi.org/10.1145/3267809.3267819 .
A. Beltre, P. Saha, and M. Govindaraju, “KubeSphere: An Approach to Multi-Tenant Fair Scheduling for Kubernetes Clusters,” in 2019 IEEE Cloud Summit. 2019, p. 14-20. [Electronic resource]. Available: https://doi.org/10.1109/CloudSummit47114.2019.00009 .
Z. Liu, C. Chen, J. Li, Y. Cheng, Y. Kou, and D. Zhang, “KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes,” Concurrency and Computation: Practice and Experience, vol. 34, no. 11, Jan. 2022. [Electronic resource]. Available: https://doi.org/10.1002/cpe.6836 .
Y. Qiao, S. Shen, C. Zhang, W. Wang, T. Qiu, and X. Wang, “EdgeOptimizer: A programmable containerized scheduler of time-critical tasks in Kubernetes-based edge-cloud clusters,” Future Generation Computer Systems, vol. 156, p. 221-230, 2024. [Electronic resource]. Available: https://doi.org/10.1016/j.future.2024.03.007 .
M. Lin, J. Xi, W. Bai, and J. Wu, “Ant Colony Algorithm for Multi-Objective Optimization of Container-Based Microservice Scheduling in Cloud,” IEEE Access, vol. 7, p. 83088-83100, 2019. [Electronic resource]. Available: https://doi.org/10.1109/ACCESS.2019.2924414 .
A. Alelyani, A. Datta, and G. M. Hassan, “Optimizing Cloud Performance: A Microservice Scheduling Strategy for Enhanced Fault-Tolerance, Reduced Network Traffic, and Lower Latency,” IEEE Access, vol. 12, p. 35135-35153, 2024. [Electronic resource]. Available: https://doi.org/10.1109/ACCESS.2024.3373316 .
Z. Wei-guo, M. Xi-lin, and Z. Jin-zhong, “Research on Kubernetes' Resource Scheduling Scheme,” in Proceedings of the 8th International Conference on Communication and Network Security. New York, NY, USA: Assoc. Comput. Machinery, 2018, p. 144-148. [Electronic resource]. Available: https://doi.org/10.1145/3290480.3290507 .
M. Carvalho, and D. F. Macedo, “Container Scheduling in Co-Located Environments Using QoE Awareness,” IEEE Transactions on Network and Service Management, vol. 20, no. 3, p. 3247-3260, 2023. [Electronic resource]. Available: https://doi.org/10.1109/TNSM.2023.3244090 .
Q. Si, X. Lu, W. Li, and P. Pu, “DeepLRA: An Efficient Long Running Application Scheduling Framework with Deep Reinforcement Learning in the Cloud,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 14325 LNAI, p. 157-163, 2024. [Electronic resource]. Available: https://doi.org/10.1007/978-981-99-7019-3_16 .
Y. Bao, Y. Peng, and C. Wu, “Deep Learning-based Job Placement in Distributed Machine Learning Clusters,” in Proceedings – IEEE INFOCOM. 2019, p. 505-513. [Electronic resource]. Available: https://doi.org/10.1109/INFOCOM.2019.8737460 .
X. Xie et al., “DRS: A deep reinforcement learning enhanced Kubernetes scheduler for microservice‐based system,” Software: Practice and Experience, Oct. 2023. [Electronic resource]. Available: https://doi.org/10.1002/spe.3284 .
X. Wang, K. Zhao, and B. Qin, “Optimization of Task-Scheduling Strategy in Edge Kubernetes Clusters Based on Deep Reinforcement Learning,” Mathematics, vol. 11, p. 42-69, Oct. 2023. [Electronic resource]. Available: https://doi.org/10.3390/math11204269 .
Y. Fu et al., “Progress-based Container Scheduling for Short-lived Applications in a Kubernetes Cluster,” in 2019 IEEE International Conference on Big Data (Big Data), 2019, p. 278-287. [Electronic resource]. Available: https://doi.org/10.1109/BigData47090.2019.9006427 .
Y. Han, S. Shen, X. Wang, S. Wang, and V. C. Leung, “Tailored Learning-Based Scheduling for Kubernetes-Oriented Edge-Cloud System,” in IEEE INFOCOM 2021 – IEEE Conference on Computer Communications, 2021, p. 1-10. [Electronic resource]. Available: https://doi.org/10.1109/INFOCOM42981.2021.9488701 .
I. Harichane, S. A. Makhlouf, and G. Belalem, “A Proposal of Kubernetes Scheduler Using Machine-Learning on CPU/GPU Cluster,” in Intelligent Algorithms in Software Engineering, R. Silhavy, Ed. Cham: Springer Int. Publishing, 2020, pp. 567-580. [Electronic resource]. Available: https://doi.org/10.1007/978-3-030-51965-0_50 .
J. Dogani, and F. Khunjush, “Proactive auto-scaling technique for web applications in container-based edge computing using federated learning model,” Journal of Parallel and Distributed Computing, vol. 187, 2024. [Electronic resource]. Available: https://doi.org/10.1016/j.jpdc.2024.104837 .
Z. Xu, Y. Gong, Y. Zhou, Q. Bao, and W. Qian, Enhancing Kubernetes Automated Scheduling with Deep Learning and Reinforcement Techniques for Large-Scale Cloud Computing Optimization, 2024. [Electronic resource]. Available: https://doi.org/10.48550/arXiv.2403.07905 .
D. Jorge-Martinez et al., “Artificial intelligence-based Kubernetes container for scheduling nodes of energy composition,” International Journal of System Assurance Engineering and Management, Jul. 2021. [Electronic resource]. Available: https://doi.org/10.1007/s13198-021-01195-8 .
T. Menouer, “KCSS: Kubernetes container scheduling strategy,” The Journal of Supercomputing, vol. 77, no. 5, pp. 4267-4293, May 2021. [Electronic resource]. Available: https://doi.org/10.1007/s11227-020-03427-3 .
M. F. Bestari, A. I. Kistijantoro, and A. B. Sasmita, “Dynamic Resource Scheduler for Distributed Deep Learning Training in Kubernetes,” in 2020 7th International Conference on Advance Informatics: Concepts, Theory and Applications (ICAICTA), 2020, p. 1-6. [Electronic resource]. Available: https://doi.org/10.1109/ICAICTA49861.2020.9429033 .
E. Petrakis, V. Skevakis, P. Eliades, A. Aznavouridis, and K. Tsakos, “ModSoft-HP: Fuzzy Microservices Placement in Kubernetes,” Electronics, vol. 13, p. 65, Dec. 2023. [Electronic resource]. Available: https://doi.org/10.3390/electronics13010065 .
C. Misale et al., “Towards Standard Kubernetes Scheduling Interfaces for Converged Computing,” in Driving Scientific and Engineering Discoveries Through the Integration of Experiment, Big Data, and Modeling and Simulation, J. Nichols et al. Eds. Cham: Springer Int. Publishing, 2022, pp. 310-326. [Electronic resource]. Available: https://doi.org/10.1007/978-3-030-96498-6_18 .
J. Santos, C. Wang, T. Wauters, and F. De Turck, “Diktyo: Network-Aware Scheduling in Container-Based Clouds,” IEEE Transactions on Network and Service Management, vol. 20, no. 4, p. 4461-4477, 2023. [Electronic resource]. Available: https://doi.org/10.1109/TNSM.2023.3271415 .
Ł. Wojciechowski et al., “NetMARKS: Network Metrics-AwaRe Kubernetes Scheduler Powered by Service Mesh,” in IEEE INFOCOM 2021 – IEEE Conference on Computer Communications, 2021, p. 1-9. [Electronic resource]. Available: https://doi.org/10.1109/INFOCOM42981.2021.9488670 .
D. Li, Y. Wei, and B. Zeng, “A Dynamic I/O Sensing Scheduling Scheme in Kubernetes,” in Proceedings of the 2020 4th International Conference on High Performance Compilation, Computing and Communications. New York, NY, USA: Assoc. Comput. Machinery, 2020, p. 14-19. [Electronic resource]. Available: https://doi.org/10.1145/3407947.3407950 .
C.-Y. Lin., T.-A. Yeh., and J. Chou., “DRAGON: A Dynamic Scheduling and Scaling Controller for Managing Distributed Deep Learning Jobs in Kubernetes Cluster,” in Proceedings of the 9th International Conference on Cloud Computing and Services Science – CLOSER. SciTePress, 2019, p. 569-577. [Electronic resource]. Available: https://doi.org/10.5220/0007707605690577 .
G. El Haj Ahmed, F. Gil‐Castiñeira, and E. Costa‐Montenegro, “KubCG: A dynamic Kubernetes scheduler for heterogeneous clusters,” Software: Practice and Experience, vol. 51, no. 2, pp. 213-234, Sep. 2020. [Electronic resource]. Available: https://doi.org/10.1002/spe.2898 .
Z. Zhong, and R. Buyya, “A Cost-Efficient Container Orchestration Strategy in Kubernetes-Based Cloud Computing Infrastructures with Heterogeneous Resources,” ACM Trans. Internet Technol., vol. 20, no. 2, Apr. 2020. [Electronic resource]. Available: https://doi.org/10.1145/3378447 .
S. Telenyk, O. Rolik, E. Zharikov, and Y. Serdiuk, “Energy efficient data center resources management using beam search algorithm,” Czasopismo Techniczne, vol. 4, 2018. [Electronic resource]. Available: https://doi.org/10.4467/2353737xct.18.060.8372 .
O. Rolik, S. Telenyk, E. Zharikov, and V. Samotyy, “Dynamic Virtual Machine Allocation Based on Adaptive Genetic Algorithm,” in Cloud Computing 2017: The Eighth International Conference on Cloud Computing, GRIDs, and Virtualization, Athens, Greece. IARIA, 2017, pp. 108-114. [Electronic resource]. Available: https://personales.upv.es/thinkmind/dl/conferences/cloudcomputing/cloud_computing_2017/cloud_computing_2017_6_20_20053.pdf .
S. Wen et al., “K8sSim: A Simulation Tool for Kubernetes Schedulers and Its Applications in Scheduling Algorithm Optimization,” Micromachines, vol. 14, no. 3, 2023. [Electronic resource]. Available: https://doi.org/10.3390/mi14030651 .
“Kubernetes Scheduler,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/ .
“Scheduling Policies,” Kubernetes. [Electronic resource]. Available: https://kubernetes.io/docs/reference/scheduling/policies/ .
“Scheduler Configuration,” Kubernetes. [Electronic resource]. Available:
##submission.downloads##
-
pdf
Завантажень: 8
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Автори, які публікуються у цьому журналі, згодні з такими умовами:
- Автори зберігають авторське право і надають журналу право першої публікації.
- Автори можуть укладати окремі, додаткові договірні угоди з неексклюзивного поширення опублікованої журналом версії статті (наприклад, розмістити її в інститутському репозиторії або опублікувати її в книзі), з визнанням її первісної публікації в цьому журналі.
- Авторам дозволяється і рекомендується розміщувати їхню роботу в Інтернеті (наприклад, в інституційних сховищах або на їхньому сайті) до і під час процесу подачі, оскільки це сприяє продуктивним обмінам, а також швидшому і ширшому цитуванню опублікованих робіт (див. вплив відкритого доступу).