OpenStack Summit : le projet Kuryr pour porter les services de Neutron aux conteneurs
Ce projet devenu clé dans la communauté Openstack a pour vocation d’étendre la flexibilité de Neutron aux conteneurs. Docker est supporté, Kubernetes est sur la feuille de route.
Il fait partie du modèle dit de « Big Tent » d’OpenStack, la longue traine de projets annexes au cœur OpenStack qui vient étendre le framework. Son nom : Kuryr. Ce projet, présenté à l’origine lors de l’OpenStack Summit de Tokyo en 2015, a la particularité d’aborder un sujet actuellement très en vue dans la communauté OpenStack ; celui des conteneurs, de leur gestion et de leur étroite intégration aux piliers cœur du framework, le calcul, le stockage et le réseau.
Cette édition 2016 de l’OpenStack Summit a d’ailleurs permis de constater que les projets dont la vocation est d’améliorer le support des conteneurs par OpenStack étaient une des préoccupations majeures des développeurs. Parmi les projets les plus en vue, le projet Magnum est celui vers lequel nombre de regards se tournent. Ce projet entend proposer un moteur d’orchestration de conteneurs pour fluidifier le déploiement et la gestion de conteneurs sur OpenStack. Et d’en faire une ressources de premier ordre pour le framework. Murano ou encore Kolla y sont également fortement représentés.
Si pour l’heure, ces projets animent la communauté, il apparaît toutefois que le support des conteneurs par OpenStack n’a pas encore atteint les niveaux de maturité adéquats, nous a rappelé Jonathan Bryce, le directeur executif de la fondation dans une entrevue avec la rédaction. Pas matures, certes, mais cela suscite un engouement de la communauté qui y travaille d’arrache pied.
De son côté, Kuryr, qui a par ailleurs reçu un coup de projecteur de Mark Collier, le directeur opérationnel de l’OpenStack Foundation, a pour vocation de rapprocher conteneur Docker et Neutron, la couche réseau d’OpenStack. L’ambition de ce projet est justement de porter les services Neutron ainsi que leurs spécificités aux conteneurs Docker. Objectif : en faciliter la manipulation.
Une couche réseau des conteneurs limitée
Pour Gal Sagie, l’un des porteurs de ce projet, Kuryr vise surtout à répondre à plusieurs problématiques induites par la gestion du réseau par les conteneurs dans OpenStack. Chez ces derniers par exemple, « les couches d’abstractions sont toujours expérimentales et limitées en fonctions, du moins plus limitées que Neutron. Elles manquent aussi de flexibilité », résume –t-il. Parmi les autres problèmes, il cite celui du « double –overlay » dans le cadre par exemple de Nested VM, ou encore la difficulté à connecter des VM à un conteneurs. « Il existe trop de solutions différentes pour connecter l’ensemble » pointe-t-il du doigt.
Et donc « pourquoi ne pas utiliser la couche d’abstraction de Neutron pour gérer les fonctions réseau (des conteneurs, NDLR) affirme-t-il. Nous parvenons là à porter toutes la flexibilité de Neutron aux conteneurs ». En clair, le modèle de Neutron est porté vers les conteneurs, avec pour ambition de supporter différents runtime de conteneurs. Aujourd’hui le support de Docker est finalisé. La prochaine étape porte sur Kubernetes.
Parmi les fonctions pour l’heure supportée, les représentants du projet évoquent le support des fonctions réseau de Docker (via Network plugin et IPAM plugin), et également de Docker Swarm.
Projet à évolution rapide, la prochaine étape de la feuille de route Kuryr sera de s’aligner sur le cycle de Newton, la prochaine release d’OpenStack. L’intégration de Kubernetes y est certes prévue, mais aussi celle de Magnum, des conteneurs imbriqués (nested containers) et de certains services avancés de Neutron, comme le firewall-as-a-service (FWaaS) ou le virtual-private-network-as-a-service (VPNaaS).