Balanceamento dinâmico de pods em ambientes Kubernetes

DSpace Repository

A- A A+

Balanceamento dinâmico de pods em ambientes Kubernetes

Show simple item record

dc.contributor Universidade Federal de Santa Catarina
dc.contributor.advisor Castro, Márcio Bastos
dc.contributor.author Carvalho Neto, Pedro Moritz de
dc.date.accessioned 2025-01-23T23:22:14Z
dc.date.available 2025-01-23T23:22:14Z
dc.date.issued 2024
dc.identifier.other 389791
dc.identifier.uri https://repositorio.ufsc.br/handle/123456789/262885
dc.description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2024.
dc.description.abstract A virtualização baseada em contêineres é uma ferramenta valiosa para a computação em nuvem. O uso massivo de contêineres por provedores de nuvem e também por nuvens pri- vadas está crescendo e se tornando um padrão de facto. Com o uso intenso de contêineres, o Kubernetes é utilizado para manter uma relevante base de infraestruturas de nuvem em funcionamento em todo o mundo e vem se mostrando um orquestrador de contêineres po- pular, flexível e confiável. As plataformas de nuvem são responsáveis por executar todos os tipos de aplicação, desde aplicações clássicas da web até cargas de trabalho com uso intensivo de CPU. A alocação de pods Kubernetes em nós é chamada de escalonamento e esta tarefa é extremamente importante para o uso eficiente dos recursos do cluster. Nós que contêm muitos pods, usados em demasia por uma estratégia de escalonamento ineficiente, podem comprometer a disponibilidade das aplicações. Um nó excessivamente utilizado pode esgotar seus recursos, forçando o encerramento e a reinicialização dos pods, interrompendo assim os serviços durante determinados períodos. Por outro lado, um nó com poucos pods pode estar sendo cobrado por um provedor de nuvem, mas pode não estar executando nenhum trabalho real. Uma situação em que os nós estão sendo usa- dos em excesso e/ou subutilizados, levando a um cenário abaixo do ideal em relação à otimização de recursos, é chamada de desbalanceamento de nós. Contudo, o escalonador padrão do Kubernetes, Kube-Scheduler, só atua quando um pod é criado, permane- cendo inativo durante todo o ciclo de vida do pod. Assim, este trabalho propõe uma extensão ao escalonador do Kubernetes, denominada Kubernetes Scheduling Extension (KSE), que permite a implementação de diferentes algoritmos de balanceamento dinâmico de nós. Este software, aliado a um conjunto de algoritmos, pode resolver algumas pre- ocupações relacionadas ao desbalanceamento de nós como escalabilidade, confiabilidade, disponibilidade, consumo de energia e uso de recursos (e.g., CPU e memória). Experimen- tos realizados para aferir a eficácia do KSE compararam um ambiente sem mecanismos de balanceamento dinâmico com dois balanceadores dinâmicos implementados a partir da solução proposta (KSE-GreedyLB e KSE-RefineLB), em 32 cenários diferentes, executados com carga sintética e carga realística. Para os experimentos com carga sinté- tica, o escalonador KSE-GreedyLB obteve resultados positivos em 6 dos 32 cenários de teste enquanto o escalonador KSE-RefineLB conseguiu melhorar o balanceamento em 11 dos 32 cenários. Para os experimentos com carga realística, foi obtida melhoria em 9 dos 32 cenários para o KSE-GreedyLB e em 8 dos 32 cenários para o KSE-RefineLB. Os resultados obtidos a partir destes experimentos permitem observar que: (i) a solução proposta possui potencial para promover o balanceamento de nós e (ii) a maior eficácia do KSE foi obtida nos cenários onde o desbalanceamento foi mais intenso.
dc.description.abstract Abstract: Container-based virtualization is a valuable tool for cloud computing. The massive use of containers by cloud providers and also by private clouds is growing and becoming a de facto standard. Along with the intense use of containers, Kubernetes is used to main- tain a relevant number of cloud infrastructures in operation around the world and has proven to be a popular, flexible, and reliable container orchestrator. The cloud platforms are responsible for running all types of application, from classic web applications to even CPU-intensive workloads. The allocation of Kubernetes pods in nodes is called scheduling and this task is extremely important for the efficient use of the cluster resources. Nodes that contain many pods, overused by an inefficient scheduling strategy, can compromise the applications availability. An overused node may exhaust its resources, forcing it to shut down and restarting pods, thus interrupting services during certain periods. On the other hand, a node with few pods may be being charged by a cloud provider, but may not be performing any actual work. A situation on which the nodes are being overused and/or underutilized, leading to a suboptimal scenario regarding resource optimization, is called node imbalance. However, the Kubernetes default scheduler, Kube-Scheduler, only acts when a pod is created, remaining inactive throughout the pod?s life cycle. Therefore, this work proposes an extension to the Kubernetes scheduler, named Kubernetes Schedul- ing Extension (KSE), which allows the implementation of different dynamic nodes balanc- ing algorithms. This software, combined with a set of algorithms, can solve some concerns related to node imbalance as scalability, reliability, availability, energy consumption and resource usage (e.g., CPU and memory). Experiments carried out to assess the effective- ness of KSE compared an environment without dynamic balancing mechanisms with two dynamic balancers implemented based on the proposed solution (KSE-GreedyLB and KSE-RefineLB), in 32 different scenarios, executed with synthetic load and realistic load. For the experiments with synthetic load, the KSE-GreedyLB scheduler achieved positive results in 6 of the 32 test scenarios while the KSE-RefineLB scheduler managed to improve balancing in 11 of the 32 scenarios. For the experiments with realistic load, the improvement obtained was 9 of the 32 scenarios for KSE-GreedyLB and 8 of the 32 scenarios for KSE-RefineLB. The results obtained from these experiments allow us to observe that: (i) the proposed solution has the potential to promote node balancing and (ii) the greatest effectiveness of KSE was obtained in scenarios where the imbalance was more intense. en
dc.format.extent 80 p.| il., gráfs.
dc.language.iso por
dc.subject.classification Computação
dc.subject.classification Computação em nuvem
dc.subject.classification Cluster (Sistema de computador)
dc.title Balanceamento dinâmico de pods em ambientes Kubernetes
dc.type Dissertação (Mestrado)
dc.contributor.advisor-co Siqueira, Frank


Files in this item

Files Size Format View
PGCC1281-D.pdf 2.324Mb PDF View/Open

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account

Statistics

Compartilhar