<  Retour au portail Polytechnique Montréal

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

Benjamin Saint-Cyr

Mémoire de maîtrise (2023)

[img] Accès restreint: Personnel autorisé jusqu'au 10 mai 2025
Conditions d'utilisation: Tous droits réservés
Afficher le résumé
Cacher le résumé

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.

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.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: Michel Dagenais et Heng Li
URL de PolyPublie: https://publications.polymtl.ca/56735/
Université/École: Polytechnique Montréal
Date du dépôt: 10 mai 2024 10:45
Dernière modification: 12 mai 2024 14:43
Citer en APA 7: Saint-Cyr, B. (2023). Traçage multi-niveaux d'orchestrateur d'application conteneurisée [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/56735/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document