Master's thesis (2023)
![]() |
Restricted to: Repository staff only until 10 May 2025 Terms of Use: All rights reserved |
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 |
PolyPublie URL: | https://publications.polymtl.ca/56735/ |
Institution: | Polytechnique Montréal |
Date Deposited: | 10 May 2024 10:45 |
Last Modified: | 09 Apr 2025 10:59 |
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