<  Back to the Polytechnique Montréal portal

Traçage multi-niveaux d'orchestrateur d'application conteneurisée

Benjamin Saint-Cyr

Master's thesis (2023)

[img] Restricted to: Repository staff only until 10 May 2025
Terms of Use: All rights reserved
Show abstract
Hide abstract

Abstract

The thesis delves into the inherent complexity of managing application performance within a Kubernetes environment, a widely adopted container orchestrator in the industry. In this context, the smallest unit that can be orchestrated is referred to as a Pod, which encompasses a set of containers sharing the same IP address and file system. The primary aim is to identify and address performance issues that may arise during Pod startup and during their runtime, shedding light on the interactions between the orchestration layer (Kubernetes) and the operating system layer (Linux kernel). We have formulated the following hypothesis: Visualizing the life cycles of deployments and their resource consumption, derived from the traces of both the kernel and the orchestrator, significantly enhances system observability. This integrated strategy aims to diagnose accurately and resolve effectively the performance issues encountered. The experimental methods employed include the instrumentation of the Linux kernel and Kubernetes, the collection and analysis of traces, as well as the creation of visualizations to interpret the collected data. These methods helped to highlight the critical stages of the Pod lifecycle that contribute to delays in Pod startup and execution. The analysis of the results revealed that our approach can effectively identify the phases that slow down Pod deployment, and provides precious insights into the causes of such delays, be it CPU throttling, resource contention, or lock contention. Several visualizations were created to illustrate resource usage, the impact of CPU throttling, and resource contention on Pod performance.

Résumé

Ce mémoire explore la complexité inhérente à la gestion des performances des applications dans un environnement Kubernetes, un orchestrateur de conteneurs largement adopté dans l’industrie. Dans ce contexte, l’unité la plus petite qui peut être orchestrée est désignée comme un Pod, qui regroupe un ensemble de conteneurs partageant la même adresse IP et système de fichiers. L’objectif est d’identifier et résoudre les problèmes de performance au démarrage et à l’exécution des Pods. Notre travail met en lumière les interactions entre la couche d’orchestration (Kubernetes) et la couche du système d’exploitation (noyau Linux). Nous avons formulé l’hypothèse suivante : La visualisation des cycles de vie des déploiements et de leur consommation de ressources, provenant des traces du noyau et de l’orchestrateur, améliore considérablement l’observabilité du système. Cette stratégie intégrée vise à diagnostiquer précisément et résoudre efficacement les problèmes de performance rencontrés. Les méthodes expérimentales employées comprennent l’instrumentation du noyau Linux et de Kubernetes, la collecte et l’analyse des traces, ainsi que la création de visualisations pour interpréter les données collectées. Ces méthodes ont permis de mettre en lumière les étapes critiques du cycle de vie des Pods qui contribuent aux retards dans le démarrage et l’exécution des Pods.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Michel Dagenais and Heng Li
PolyPublie URL: https://publications.polymtl.ca/56735/
Institution: Polytechnique Montréal
Date Deposited: 10 May 2024 10:45
Last Modified: 12 May 2024 14:43
Cite in APA 7: Saint-Cyr, B. (2023). Traçage multi-niveaux d'orchestrateur d'application conteneurisée [Master's thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/56735/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item