Kata Containers : un projet de « containers virtualisés » débarque à la fondation OpenStack
Ce sera le premier projet communautaire intégré au sein la fondation Open Source, hors OpenStack. Kata Containers réunit deux projets Open Source pour s’attaquer à la sécurité des containers.
Intel et Hyper.sh ont décidé de réunir leurs technologies de sécurisation de containers respectives au sein d’un unique projet Open Source et d’en confier la gouvernance à la Fondation OpenStack. Kata Containers, nom de code de ce projet, devient ainsi le premier projet hors OpenStack pris en gérance par la fondation Open Source, depuis son intention de devenir un carrefour de projets ouverts autour de l’infrastructure. Annoncé lors de l’OpenStack Summit de Sydney, cette volonté de favoriser les points d’intégration entre projets en faisant collaborer les communautés Open Source marque une étape clé dans l’évolution de la fondation. Kata Containers ne sera pas nécessairement inclus aux projets qui peuplent OpenStack (Nova, Neutron, Cinder, Swift,…), mais aura sa propre gouvernance technique et sa base de contributions. Une approche fidèle à ce qu’avait expliqué Jonathan Bryce, le directeur exécutif de la fondation, lors de l’événement.
En fait, Kata Containers est la réunion des projets Clear Containers d’Intel et runV d’Hyper.sh, deux technologies. Leur approche est identique : apporter un niveau de sécurité aux containers identiques à celui des machines virtuelles. Mais sans perdre la flexibilité ni la légèreté de ces composants.
Une VM minimaliste comme caisson étanche
Clear Containers, né au sein du projet Clear Linux d’Intel, visent à proposer un modèle de VM ultra-légère dans laquelle s’insèrent un container ou un pod de containers. Créant ainsi un objet bien plus étanche et isolé, et donc sécurisé – la bête noire des containers. Intel s’appuie sur sa propre technologie VT pour sécuriser l’ensemble. De son côté, Hyper.sh a conçu une offre de containers sécurisés nommée HyperContainer qui reprend le même principe de containers encapsulés dans une VM minimaliste. Il se repose quant à lui sur un runtime qui exécute un hyperviseur – qui supporte donc la VM. Dans les 2 cas, le principe est de créer une VM de type caisson étanche en intégrant le stricte minimum en matière de ressources – un micro-kernel, un OS ultra-allégé et connecté – , nécessaires pour faire tourner un container. Intel et Hyper.sh « ont prouvé qu'on pouvait obtenir une rapidité et une densité comparable à des containers classiques, tout en ayant une isolation digne des VMs - chaque container ou pod tournant dans un micro-kernel séparé », résume Thierry Carrez, vice-président de l’OpenStack Foundation, en charge de l’ingénierie.
Selon lui, Kata Containers fournit un runtime alternatif pour container, que Docker et Kubernetes peuvent utiliser à la place de runC (le runtime par défaut de Docker, NDLR). Le support des spécifications OCI (Open Container Initiative) pour le support d’images Docker et CRI (container runtime interface) pour Kubernetes est intégré.
« Kata Containers réutilise les mêmes containers et images que runC et est donc totalement compatible. Il sera même possible de combiner les deux types de runtime dans un même déploiement », précise encore Thierry Carrez.
Cette réunion marque aussi la fusion de deux approches. Alors que la virtualisation est généralement l’option utilisée pour exploiter les applications dites Legacy, les containers, plus rapides à démarrer mais moins isolés, permettent de revoir l’architecture applicative en se reposant sur les micro-services. En rapprochant ces deux projets, ce sont les deux mondes que l’on rassemble – et avec les deux communautés.