Traitement des pods orphelins sur la plateforme de conteneurs Titus de Netflix

Traitement des pods orphelins sur la plateforme de conteneurs Titus de Netflix

Problèmes d’ingénierie résolus par l’équipe Netflix

L’équipe d’ingénierie de Netflix a divulgué l’enquête, l’identification et la résolution du problème lié aux “pods orphelins” causant des inconvénients aux ingénieurs de Titus, mettant en lumière le parcours des kernel panics vers Kubernetes (k8s) et fournissant finalement aux opérateurs les outils nécessaires pour comprendre pourquoi certains noeuds disparaissent.

Défis liés aux “pods orphelins” sur Titus

Titus est une plateforme de gestion de conteneurs développée par Netflix et open-source en 2018. Elle est conçue pour exécuter des conteneurs à grande échelle dans le cloud et est spécifiquement adaptée pour répondre aux exigences uniques et aux défis du service de streaming massif, dynamique et à fort trafic de Netflix.

Résolution des problèmes liés aux “pods orphelins”

Les “pods orphelins”, bien qu’une minorité dans le système, posent un problème significatif aux utilisateurs d’applications par lots, qui doivent faire face à des incertitudes sans codes de retour clairs pour guider leurs décisions de réessayage. Leur disparition est due à celle de l’objet noeud Kubernetes sous-jacent. Afin d’améliorer l’expérience utilisateur, Titus utilise un contrôleur personnalisé pour maintenir un historique des objets Pod et Node, assurant la transparence. Cependant, l’absence d’une explication satisfaisante pour la perte de l’agent a conduit à une enquête approfondie sur les causes profondes.

Améliorations apportées par Titus

Différentes raisons peuvent expliquer la disparition des noeuds, en particulier dans les environnements cloud. Pour répondre à cela, l’équipe d’ingénierie de Neflix introduit une annotation pour capturer les raisons de terminaison, fournissant des informations pour comprendre les disparitions de noeuds.

Dealing with Kernel Panics and Solutions

La gestion des kernel panics présente un défi unique, étant donné les options limitées disponibles. Ainsi, Titus a implémenté une solution en utilisant le module netconsole, permettant à la plateforme de capturer des informations vitales même en cas de défaillances catastrophiques.

Mesures mises en place par Titus

La dernière étape consiste à se connecter à Kubernetes et à implémenter un contrôleur pour écouter les paquets UDP netconsole, identifier les kernel panics et associer ces derniers aux objets de noeuds k8s, annoter et supprimer les pods associés et les noeuds en panique.

Les bénéfices des améliorations de Titus

Grâce à ces améliorations, Titus a considérablement renforcé ses capacités, assurant une expérience plus fluide pour les ingénieurs et les utilisateurs d’applications par lots.

Source : www.infoq.com

Avatar photo

Mikael Buxton

Mikaël Buxton est fan de séries télé depuis l’enfance. Il a lancé Series-80.net en 2003 pour partager sa passion des séries cultes des années 70, 80, 90 et début 2000. Aujourd’hui, il continue de faire vivre ces souvenirs en écrivant sur leurs retours, reboots, et secrets de tournage.