Aujourd’hui, Juniper Networks est très heureux d’annoncer une nouvelle évolution produit majeure. Notre équipe d’ingénieurs a passé les deux dernières années à opérer une refonte totale de Contrail Networking dans le cadre du projet « CN2 ». Si ce nom laisse à penser à une version 2.0 de Contrail, il désigne en fait l’abréviation de Juniper Cloud Native Contrail Networking. Mais comme vous en conviendrez, CN2 est plus facile à prononcer que CNCN ou CN2.
Avec le lancement de CN2 et de Contrail 22.1, Juniper propose à ses clients une architecture « Kubernetes-native » moderne, dans une solution réseau cloud-native conjuguant automatisation, haute performance et évolutivité – sans oublier l’efficacité DevOps d’un hyperscaler. Mais le mieux dans tout cela, c’est que CN2 a pour mission première de connecter les applications en toute sécurité, à la fois dans les environnements Kubernetes et OpenStack.
Gros plan sur les nouveautés : Kubernetes, côté pile ; OpenStack, côté face
J’ai eu la chance de travailler au rachat de Contrail Systems par Juniper en 2012, puis au lancement de son premier produit en 2013. À cette époque, Contrail entendait bien régler le problème du SDN (Software-Defined Network) à grande échelle pour les infrastructures IaaS (Infrastructure-as-a-Service) et la virtualisation des fonctions réseau (NFV), deux cas d’usage où OpenStack tenait le rôle d’orchestrateur. Puis vint 2015 et l’entrée en scène de Kubernetes, véritable révolution dans le développement et l’exécution d’applications et, plus récemment, dans le déploiement de machines virtuelles (VM).
Kubernetes a su prendre l’avantage sur OpenStack et s’est finalement imposé depuis quelque temps déjà. Chez Juniper, nous savions que CN2 devait se mettre à l’heure des nouveaux cas d’usage Kubernetes et OpenShift, tout en restant très présent sur OpenStack pour offrir une expérience homogène aux utilisateurs navigant entre les deux écosystèmes ou en pleine transition vers Kubernetes.
Depuis, les choses ont bien changé. CN2 est non seulement devenu « Kubernetes-first », mais aussi « Kubernetes-native ».
Ce qui change : l’approche Kubernetes-native
La métamorphose de Contrail ne se limite pas à une approche cloud-native et à une compatibilité avec l’écosystème Kubernetes. Foncièrement, il s’agit de l’optimiser purement et simplement pour Kubernetes, et de repenser CN2 comme une extension même de K8s. D’où le qualificatif de « Kubernetes-native »
Endossant le rôle d’interface réseau pour conteneurs (CNI) Kubernetes, CN2 s’intègre comme une pièce maîtresse de l’infrastructure du cluster en recourant au cadre d’extension de ressources personnalisées de Kubernetes. Résultat, tout dans CN2 est provisionné comme avec Kubernetes. Les clients peuvent utiliser l’outil Kuberbetes de leur choix : kubectl, K9s, etc. Quant à Lens, l’interface graphique très prisée de Kubernetes, nous l’avons étendue grâce à un plug-in Contrail. Concrètement, l’API de CN2 s’intègre à l’aide des systèmes RBAC et IAM natifs de Kubernetes, chargés respectivement de contrôler l’accès basé sur les rôles et de gérer les identités et les accès. Mieux encore, CN2 étant désormais configuré sous forme de code, il s’intègre aux workflows GitOps, à l’infrastructure IaaS et au pipeline CI/CD en toute facilité. Pour couronner le tout, nous avons même créé les Contrail Pipelines, basés sur ArgoCD et ArgoWorkflows, pour un pipeline CI/CD clé en main pour le SDN de Contrail, qui inclut les nouvelles suites de test de Juniper.
Autre caractéristique de CN2 : sa conception propriétaire en source fermée. Alors que Contrail était open-source jusqu’à la version 21.4, CN2 prend la relève avec la 22.1. Juniper mettra à votre disposition des licences d’essai gratuites pour tester le produit avant de vous engager.
Ce qui reste inchangé : évolutivité, haute performance et réseau ouvert
Pour autant, on aurait tort de réduire Contrail pour Kubernetes à l’idée d’une simple CNI. Car un coup d’œil à la mécanique de CN2 nous révèle une mine de fonctionnalités SDN : politique de sécurité reposant sur la micro-segmentation, sécurité par isolement des espaces de noms, équilibrage de charge en entrée, équilibrage de charge natif pour les services disponibles en externe, mise en miroir du trafic, politique de routage, prise en charge du protocole BGP, topologies de réseau virtuel, réseau virtuel, et bien d’autres encore. Le tout, fonctionnant avec ou sans overlays (même s’ils sont fortement recommandés).
Il serait trop long de dresser ici l’inventaire détaillé et pléthorique des fonctionnalités réseau de CN2 pour les entreprises, les CSP et les fournisseurs de services. Nous le ferons toutefois dans de prochains articles techniques et vidéos de démo.
Comme chacun sait, Kubernetes est souvent déployé dans le cloud. Contrail présente toutes les qualités pour cet environnement, comme en témoignent les nombreux déploiements Juniper de ce type. Cependant, l’exécution de CN2 sur un cloud « bare metal » autogéré change la donne pour les datacenters privés. Et pour cause, grâce à son architecture ouverte et standardisée et à son modèle de fédération simple, CN2 peut, à partir de son contrôleur centralisé au niveau logique, appairer les réseaux virtuels aux autres contrôleurs CN2 (qu’ils soient produits par Juniper ou d’autres fournisseurs), en particulier les routeurs BGP (Border Gateway Protocol). En outre, un déploiement sur site permet aux clients de profiter des options SmartNIC et de libérer tout leur potentiel de performance.
Ce qui ne cesse de s’améliorer
À l’instar du multicloud, l’environnement multi-Kubernetes ne cesse d’évoluer, et ce sur deux plans : le nombre de clusters, d’une part, et la variété des distributions de Kubernetes, d’autre part.
Nombre d’entreprises utilisent les services managés de Kubernetes dans le cloud, en plus des distributions qu’elles gèrent elles-mêmes. Dans un contexte SDN, CN2 demeure un choix pertinent et a beaucoup à offrir du fait de sa nature hybride qui lui permet de prendre en charge toutes ces distributions Kubernetes, tels qu’OpenShift et OpenStack, avec à la clé une expérience commune et fédératrice, garante d’une interconnectivité transparente.
Le terme KubeSprawl fait référence à l’expansion tentaculaire de Kubernetes sur une multitude de clusters, bien au-delà de ses services pour de multiples orchestrateurs. Or, justement, l’environnement Kubernetes multi-cluster compte parmi les nouveaux atouts de CN2.
Depuis le départ, Contrail a été conçu pour une utilisation multi-tenant renforcée, sécurisée et à grande échelle. Ce produit convient donc parfaitement aux grands clusters partagés entre de multiples équipes et pour de multiples usages. Toutefois, face à la tendance inverse des entreprises à déployer d’innombrables clusters de petite taille (par équipe, par application, pour le développement, les tests, la pré-production et la production), CN2 est désormais en mesure de remettre de l’ordre dans cet amas de clusters et de consolider le SDN. Comment ? En se déployant uniquement dans un cluster principal tout en servant de CNI pour ce cluster-ci et tous les autres. De même, notre solution peut combiner les analyses multi-clusters. Si CN2 brille par ses capacités de fédération, cette dernière n’est toutefois pas nécessaire dans ce modèle multi-cluster pour garantir la gestion transparente du réseau virtuel et des politiques de sécurité.
Dernier point à l’avantage de Kubernetes dans le match qui l’oppose à OpenStack, son déploiement facile et flexible : cloud privé ou public, bare-metal, et même dans un seul nœud. Dans ce contexte, il fallait rendre CN2 le plus simple possible à essayer. C’est chose faite : il suffit de quelques minutes pour exécuter minikube avec CN2 sur un ordinateur portable. Quel que soit le type de déploiement, Juniper a décidé de jouer la carte du lean et de la simplification en proposant plusieurs fonctionnalités en option : journalisation, analyse système, analyse réseau et télémétrie des flux.
Autant dire que pour les équipes produit et ingénierie de Juniper, ce lancement constitue une véritable prouesse. Ainsi, avec cette édition, Contrail ouvre une nouvelle page de son histoire, et CN2 entre dans une nouvelle ère.
Ressources complémentaires