Spelling suggestions: "subject:"horizontal pode autosampler"" "subject:"horizontal pode autoscaling""
1 |
Optimizing Resource Allocation in Kubernetes : A Hybrid Auto-Scaling Approach / Optimering av resurstilldelning i Kubernetes : En hybrid auto-skalningsansatsChiminelli, Brando January 2023 (has links)
This thesis focuses on addressing the challenges of resource management in cloud environments, specifically in the context of running resource-optimized applications on Kubernetes. The scale and growth of cloud services, coupled with the dynamic nature of workloads, make it difficult to efficiently manage resources and control costs. The objective of this thesis is to explore the proactive autoscaling of virtual resources based on traffic demand, aiming to improve the current reactive approach, the Horizontal Pod Autoscaler (HPA), that relies on predefined rules and threshold values. By enabling proactive autoscaling, resource allocation can be optimized proactively, leading to improved resource utilization and cost savings. The aim is to strike a balance between resource utilization and the risk of Service Level Agreement (SLA) violations while optimizing resource usage for microservices. The study involves generating predictions and assessing resource utilization for both the current HPA implementation and the proposed solution. By comparing resource utilization and cost implications, the economic feasibility and benefits of adopting the new approach can be determined. The analysis aims to provide valuable insights into resource utilization patterns and optimization opportunities. The analysis shows significant improvements in CPU utilization and resource consumption using the proposed approach compared to the current HPA implementation. The proactive strategy allows for handling the same number of requests with fewer replicas, resulting in improved efficiency. The proposed solution has the potential to be applied to any type of service running on Kubernetes, with low computational costs. In conclusion, the analysis demonstrates the potential for resource optimization and cost savings through the proposed approach. By adopting proactive strategies and accurately predicting resource needs, organizations can achieve efficient resource utilization, system robustness, and compliance with SLA. Further research and enhancements can be explored based on the findings of this analysis. / Denna avhandling fokuserar på att adressera utmaningarna med resurshantering i molnmiljöer, specifikt i kontexten att köra resursoptimerade applikationer på Kubernetes. Skalan och tillväxten av molntjänster, tillsammans med arbetsbelastningarnas dynamiska natur, gör det svårt att effektivt hantera resurser och kontrollera kostnader. Syftet med denna avhandling är att utforska proaktiv autoskalning av virtuella resurser baserat på trafikbehov, med målet att förbättra den nuvarande reaktiva metoden, Horizontal Pod Autoscaler (HPA), som förlitar sig på fördefinierade regler och tröskelvärden. Genom att möjliggöra proaktiv autoskalning kan resurstilldelningen optimeras i förväg, vilket leder till förbättrad resursanvändning och kostnadsbesparingar. Målet är att hitta en balans mellan resursanvändning och risken för överträdelser av Service Level Agreements (SLA) samtidigt som resursanvändningen för mikrotjänster optimeras. Studien innefattar att generera förutsägelser och bedöma resursanvändning för både den nuvarande HPA-implementeringen och den föreslagna lösningen. Genom att jämföra resursanvändning och kostnadsimplikationer kan den ekonomiska genomförbarheten och fördelarna med att anta det nya tillvägagångssättet bestämmas. Analysen syftar till att ge värdefulla insikter i mönster för resursanvändning och möjligheter till optimering. Analysen visar betydande förbättringar i CPU-användning och resursförbrukning med den föreslagna metoden jämfört med den nuvarande HPA-implementeringen. Den proaktiva strategin möjliggör hantering av samma antal förfrågningar med färre replikor, vilket resulterar i förbättrad effektivitet. Den föreslagna lösningen har potential att tillämpas på alla typer av tjänster som körs på Kubernetes, med låga beräkningskostnader. Sammanfattningsvis visar analysen potentialen för resursoptimering och kostnadsbesparingar genom det föreslagna tillvägagångssättet. Genom att anta proaktiva strategier och noggrant förutsäga resursbehov kan organisationer uppnå effektiv resursanvändning, systemets robusthet och uppfyllnad av SLA:er. Vidare forskning och förbättringar kan utforskas baserat på resultaten av denna analys.
|
2 |
Dimensioning Microservices on Kubernetes Platforms Using Machine Learning TechniquesRubak, Adam January 2023 (has links)
In recent years, cloud computing and containerization have become increasingly popular for various applications. However, optimizing resource usage and minimizing costs while providing reliable and efficient service to users can be a challenge. One such challenge is scaling containers according to the current system load. This thesis focuses on the problem of properly dimensioning pods in Kubernetes, a widely used platform for managing containerized applications. The motivation behind this problem is that the standard solution, Horizontal Pod Autoscaler (HPA), often results in wasted resources or poor performance due to overprovisioning or underprovisioning. This thesis proposes a proactive approach to scaling applications by utilizing machine learning models to predict future resource requirements based on concurrent user counts on the platform. This approach involves collecting and modifying data from HPA and training various machine learning models to forecast and predict the system's future behavior. The results of this thesis demonstrate that machine learning models can predict future resource requirements based on trends in the application. Based on the data evaluation, it was found that overprovisioning negatively affects the response time. Additionally, the machine learning models were accurate enough to predict future CPU needs. However, further research and experimentation are necessary to improve the accuracy and reliability of these models. / Under de senaste åren har cloud computing och containerisering blivit allt populärare för olika applikationer. Det kan dock vara en utmaning att optimera resursanvändningen och minimera kostnaderna och samtidigt tillhandahålla pålitlig och effektiv service till användarna. En sådan utmaning är hur man skalar containrar enligt den aktuella systembelastningen. Det här examensarbetet fokuserar på problemet med korrekt dimensionering av pods i Kubernetes, en allmänt använd plattform för att hantera containeriserade applikationer. Motivet bakom detta problem är att standardlösningen, Horizontal Pod Autoscaler (HPA), ofta resulterar i antingen slöseri med resurser eller dålig prestanda på grund av överprovisionering eller underprovisionering. Detta examensarbete syftar till att föreslå ett proaktivt tillvägagångssätt för att skala applikationer genom att använda maskininlärningsmodeller för att förutsäga framtida resurskrav baserat på samtidiga antal användare på plattformen. Detta tillvägagångssätt innebär att samla in och modifiera data från HPA och träna olika maskininlärningsmodeller för att förutsäga systemets framtida beteende. Resultaten av denna avhandling visar att maskininlärningsmodeller kan förutsäga framtida resursbehov baserat på trender i applikationen. Baserat på datautvärderingen fann man att överprovisionering påverkar svarstiden negativt. Dessutom var maskininlärningsmodellerna tillräckligt exakta för att förutsäga framtida CPU-behov. Det krävs dock ytterligare forskning och experiment för att förbättra noggrannheten och tillförlitligheten hos dessa modeller.
|
3 |
Predicting resource usage on a Kubernetes platform using Machine Learning MethodsGördén, Arvid January 2023 (has links)
Cloud computing and containerization has been on the rise in recent years and have become important areas of research and development in the field of computer science. One of the challenges in distributed and cloud computing is to predict the resource utilization of the nodes that run the applications and services. This is especially relevant for container-based platforms such as Kubernetes. Predicting the resource utilization of a Kubernetes cluster can help optimize the performance, reliability, and cost-effectiveness of the platform. This thesis focuses on how well different resources in a cluster can be predicted using machine learning techniques. The approach consists of 3 main steps: data collection, data extraction and pre-processing, and data analysis. The data collection step involves stressing the system with a load-generator called Locust and collecting data from Locust and collecting data from Kubernetes with the use of Prometheus. The data pre-processing and extraction step involves extracting relevant data and transforming it into a suitable format for the machine learning models. The final step involves applying different machine learning models to the data and evaluating their accuracy. The results of this thesis illustrate that machine learning can work well for predicting resources in a cluster based on how stressed the system is and that the best performing machine learning model tested was Support Vector Machine with a polynomial kernel. / Cloud computing och containerisering har ökat de senaste åren och har blivit viktiga områden för forskning och utveckling inom datavetenskap. En av utmaningarna inom distribuerad och cloud computing är att förutsäga resursutnyttjandet av de noder som kör applikationerna och tjänsterna. Detta är särskilt relevant för containerbaserade plattformar som Kubernetes. Att förutsäga resursutnyttjandet av ett Kubernetes-kluster kan hjälpa med att optimera plattformens prestanda, tillförlitlighet och kostnadseffektivitet. Denna avhandling fokuserar på hur väl olika resurser i ett kluster kan förutsägas med hjälp av maskininlärningstekniker. Tillvägagångssättet består av 3 huvudsteg: datainsamling, dataextraktion och för-processering, samt dataanalys. Datainsamlingssteget innebär att stressa systemet med en load-generator som heter Locust och samla in data från Locust och även samla in data från Kubernetes med hjälp av Prometheus. Steget för för-processering och extrahering av data innefattar att extrahera relevant data och omvandla den till ett lämpligt format för maskininlärningsmodellerna. Det sista steget innefattar att tillämpa olika maskininlärningsmodeller på data och utvärdera deras noggrannhet. Resultaten av denna avhandling demonstrerar att maskininlärning kan fungera bra för att förutsäga resurser i ett kluster baserat på hur stressat systemet är och att den bäst presterande maskininlärningsmodellen som testades var Support Vector Machine med en polynom-kernel.
|
Page generated in 0.1321 seconds