Contexte
Dans le contexte de la transformation logicielle des réseaux, Orange Innovation développe des chaînes d’automatisation et de programmation afin de déployer et de reconfigurer des services réseaux (e.g. fonctions du réseau coeur mobile 5G) dans des infrastructures cloud. Ces chaînes emploient en entrée des fichiers de configuration qui décrivent l’état désiré des ressources à déployer. Typiquement, ces fichiers sont des manifests Kubernetes, écrits au format YAML [YAML], lorsque les fonctions réseau sont conteneurisées (CNF) et déployées dans un cluster Kubernetes [K8S]. Chaque type de ressources Kubernetes est alors pris en charge par un gestionnaire de cycle de vie dédié (contrôleur ou opérateur Kubernetes [CNCFoperator]) dont le rôle est d’amener et de maintenir la ressource à l’état désiré.
A un déploiement donné peut correspondre un volume important de manifests, potentiellement sujets à des erreurs de configuration. L’implémentation des gestionnaires peut elle-même introduire des erreurs de séquencement des opérations et conduire à des incohérences de comportement.
L’impact peut être non négligeable voire bloquant sur les phases de déploiement.
Des travaux de recherche sont en cours pour fiabiliser ces étapes de configuration de déploiement [Ktoolbox].
Votre rôle
Vous avez pour mission d’évaluer un ou plusieurs outils de vérification d’opérateurs Kubernetes.
· Prise en main d’un outillage expérimental de tests ou de vérification du comportement d’opérateurs Kubernetes
· Configuration de l’outillage pour un ensemble d’opérateurs Kubernetes
· Automatisation du processus d’analyse de données/logs de sortie de l’outillage
· Identification des vraies alarmes (bugs des opérateurs) par analyse du comportement de chacun des opérateurs sur plateforme expérimentale (cluster Kubernetes)
· Documentation des bugs (ex. steps to reproduce, root cause, fix proposal [zookeeper])
Profil / Compétences
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 Python, Golang
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.
Des connaissances en langages de spécifications, méthodes formelles et Rust seraient appréciées.
Ces entreprises recrutent aussi au poste de “Assurance qualité et essais”.