
Evaluation et Extension d'Outils Vérification d'Opérateurs Kubernetes H/F - Orange
- Cesson-Sévigné - 35
- Stage
- Orange
Les missions du poste
L'ambition de la Division Innovation est de porter plus loin l'innovation d'Orange et de renforcer son leadership technologique, en mobilisant nos capacités de recherche pour nourrir une innovation responsable au service de l'humain, éclairer les choix stratégiques du Groupe à long terme et influencer l'écosystème digital mondial.
La division Innovation rassemble, dans le monde, 6000 salariés dédiés à la recherche et l'innovation dont 740 chercheurs.
Au sein d'Orange Innovation, vous rejoindrez la direction CISS en charge de contribuer aux innovations liées aux offres IaaS (Infrastructure as a Service) du Groupe tout en soutenant, et collaborant avec, les régions et pays. La direction assure et articule les 3 phases de recherche, d'anticipation et de conception-déploiement dans un souci d'optimisation technique, économique et opérationnelle.Les industries de télécom connaissent un écosystème mouvant et des transformations technologiques majeures. Elles ont l'obligation de fiabiliser leurs infrastructures et applications Telco Cloud et de se préparer aux besoins de la 6G.
La virtualisation des infrastructures s'appuie largement sur les opérateurs Kubernetes [1] pour la gestion du cycle de vie (upgrade, mise à l'échelle...) de ces applications.
Dans ce contexte de systèmes cloud par nature complexe, dynamique et distribué, le bon fonctionnement, stable, reproductible, sécurisé, des opérateurs Kubernetes s'avère crucial.
Or les bugs de code d'opérateurs sont souvent complexes à déceler par nature. D'une part, la configuration des ressources manipulées par ces opérateurs peut être sujette à des erreurs. D'autre part, les opérateurs coordonnent de multiples étapes pour rendre le service attendu, interagissent avec d'autres contrôleurs de Kubernetes ou avec des composants externes. Les symptômes de bugs liés à l'état du système sont plus ou moins explicites, voire silencieux lorsque l'état est instable ou ne correspond pas à l'état cible.
Les conséquences peuvent être non négligeables, voire sévères (panne, blocage, faille de sécurité, perte de données...), que ce soit en phase de déploiement ou en phase opérationnelle, en termes de consommation de ressources systèmes et de temps d'analyse et de rétablissement [2].
Le stage est proposé dans le cadre d'un domaine de recherche sur l'évolution des infrastructures et des réseaux. Notamment, il sera coordonné avec une thèse en cours sur l'analyse de comportement des opérateurs Kubernetes.
[1] https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
[2] https://www.crn.com/news/cloud/the-10-biggest-cloud-outages-of-2023-so-far?page=1
Mission
Vous avez pour mission de réaliser le benchmark d'un outil expérimental de vérification d'opérateurs Kubernetes,
Les étapes suivantes sont proposées:
Actualiser l'état de l'art sur les bugs d'opérateurs Kubernetes, leur classification et les outils de vérification d'opérateurs Kubernetes
Sélectionner et prendre en main l'outillage expérimental et son environnement (Kubernetes, KubeBuilder, Golang)
Evaluer l'outillage en le confrontant aux différentes catégories de bugs
Développer les add-ons/extensions à l'outillage selon les bugs recherchés (par ex. exprimer de nouvelles propriétés à vérifier)
Documenter l'utilisation de l'outillage
Le profil recherché
Vous êtes en dernière année d'école d'ingénieurs informatique ou vous préparez un diplôme de niveau Bac +5, avec les compétences suivantes :
Langages de programmation Golang, Python
Environnement de développement Linux, Git, OpenSource, IDE, appétence pour l'analyse de code
Techniques de virtualisation Docker, Kubernetes
Scripts d'analyse de données/logs
Vous maitrisez l'anglais technique et êtes capable d'analyser de la documentation en anglais.
Une première expérience en model-checking solver serait un plus
Des connaissances en langages de spécifications et méthodes formelles seraient appréciées.