Vandaag bereikt Juniper Networks een spannende en belangrijke mijlpaal met zijn producten. In de afgelopen twee jaar hebben onze engineers hard gewerkt aan project ‘CN2’, dat ingrijpende veranderingen aan Contrail Networking behelst. Deze afkorting zou kunnen duiden op een tweede editie van Contrail, maar staat eigenlijk voor Juniper Cloud-Native Contrail Networking. En CN2 is gewoon eenvoudiger uit te spreken dan CNCN of CN2.
Met de release van CN2 en Contrail 22.1 levert Juniper een moderne Kubernetes-architectuur als geautomatiseerde, krachtige en schaalbare oplossing voor cloudnetwerken, die ook nog eens de DevOps-efficiëntie van een hyperscaler biedt. Bovendien is CN2 ontworpen voor het op veilige wijze koppelen van applicaties in zowel Kubernetes- als OpenStack-omgevingen.
Dit is er nieuw: Van OpenStack naar Kubernetes
In 2012 mocht ik meewerken aan de overname van Contrail Systems door Juniper en in 2013 droeg ik bij aan de eerste productlancering. Destijds was Contrail helemaal gericht op het oplossen van de lastige problemen rondom grootschalige SDN’s voor Infrastructure-as-a-Service (Iaas) en de virtualisatie van netwerkfuncties (NFV). Daarbij functioneerde OpenStack als orchestrator. In 2015 verscheen Kubernetes ten tonele en dat was in de daaropvolgende jaren een echte gamechanger voor het ontwikkelen en uitvoeren van applicaties. Later kwam daar ook het uitvoeren van VM’s bij.
Kubernetes wordt al enige tijd meer gebruikt dan OpenStack. Binnen Juniper realiseerden we ons dat we geweldig konden moderniseren met CN2 voor onze klanten die werkten met Kubernetes of OpenShift. Daarbij bleven we uitstekende support voor OpenStack leveren, zodat de gebruikservaring vergelijkbaar bleef voor klanten die met beide systemen werkten of bezig waren met de overgang naar Kubernetes.
Tegenwoordig is CN2 volledig ‘Kubernetes-first’. Sterker nog, CN2 is ook ‘Kubernetes-native’.
Dit is er veranderd: Volledig over naar Kubernetes
De transformatie van Contrail gaat niet alleen over het gebruiken van de cloud en het ecosysteem rondom Kubernetes. Het behelst een essentiële optimalisatie voor Kubernetes, waarbij CN2 opnieuw is opgebouwd als uitbreiding ervan.
CN2 werkt onder meer als een Kubernetes CNI en is volledig geïntegreerd als basisonderdeel van een clusterinfrastructuur, waarvoor het Kubernetes extension framework van maatwerkresources wordt gebruikt. Alles in CN2 wordt nu ingericht zoals dat met Kubernetes zou gebeuren. Klanten kunnen kubectl, K9s of elke andere Kubernetes-tool gebruiken. Daarnaast hebben we de populaire Kubernetes-GUI Lens uitgebreid met een Contrail-plugin. Dit betekent dat de API van CN2 nu integreert via de ingebouwde RBAC- en naastgelegen IAM-systemen van Kubernetes. Mooier nog is dat CN2 nu is geconfigureerd als code, waarmee GitOps, infrastructuur als code en CICD moeiteloos mogelijk zijn geworden. We introduceren zelfs Contrail Pipelines op basis van ArgoCD en ArgoWorkflows voor kant-en-klare CICD voor SDN van Contrail, dat ook de nieuwe testsuites van Juniper omvat.
Bovendien is CN2 closed-source. Waar versies 21.4 en ouder open-source waren, markeert versie 22.1 de introductie van CN2. En iedereen kan een gratis proeflicentie aanvragen bij Juniper!
Wat is er hetzelfde gebleven: Schaal, performance en open networking
Het idee van een CNI is vereenvoudige weergave van Contrail voor Kubernetes. Contrail bevat een hoop meer SDN: beveiligingsbeleid op basis van microsegmentatie, beveiliging door middel van namespace-isolatie, inkomende loadbalancing, ingebouwde loadbalancing voor extern beschikbare microservices, verkeers-mirroring, routeringsbeleid, ingebouwde ondersteuning voor BGP, virtuele netwerktopologieën en virtuele netwerken. En dat is nog maar het topje van de ijsberg. Al deze functies werken met of zonder overlays, hoewel het gebruik daarvan wel wordt aanbevolen.
Ik kan hier niet de volledige reikwijdte van netwerkfuncties voor organisaties en cloud- en serviceproviders behandelen, dus houd uw ogen open voor meer technische blogs en video’s over alles dat CN2 te bieden heeft.
Iedereen weet dat Kubernetes vaak in de cloud draait. Contrail werkte daar ook al, getuige het grote aantal implementaties dat Juniper ermee heeft uitgevoerd. Maar het draaien van CN2 in een zelfbeheerde bare-metal cloud is een gamechanger in private datacenters. Dat is het gevolg van het eenvoudige, op open standaarden gebaseerde federation-model voor het koppelen van virtuele netwerken van de logisch gecentreerde controller met andere CN2-controllers, en met name BGP-routers zoals die van Juniper en andere leveranciers Dankzij de mogelijkheid van on-premises implementaties kunnen klanten gebruikmaken van SmartNIC-opties voor extreme performance.
Wat is er nog steeds goed en blijft verbeteren?
Naarmate de multicloud zich ontwikkelt, ontwikkelt Kubernetes mee. Dat gebeurt op twee manieren: in het aantal clusters en in het aantal ‘smaken’ oftewel distributies van Kubernetes.
In veel organisaties wordt gebruikgemaakt van beheerde Kubernetes-services in de cloud en zelfbeheerde distributies. CN2 is nog altijd een uitstekende keuze voor SDN omdat het op hybride wijze geschikt is voor al deze Kubernetes-distributies, zoals OpenShift en OpenStack. Daarmee biedt het een vertrouwde gebruikservaring en naadloze interconnectiviteit.
KubeSprawl maakt niet alleen gebruik van meerdere orchestrators, maar is ook de standaard voor het gebruiken van veel Kubernetes-clusters. Een van de nieuwe grote voordelen van CN2 is de mogelijkheid van Kubernetes-multiclusters.
Contrail was altijd al gebouwd voor grootschalige en beveiligde geharde multi-tenancy, en is dus ideaal voor omvangrijke en veelzijdige clusters voor meerdere teams. Maar omdat organisaties er vaak voor kiezen om vele kleine clusters te implementeren – per team, per applicatie, voor ontwikkeling, voor tests en voor productie – biedt CN2 nu de optie om een grote hoeveelheid onoverzichtelijke clusters op te schonen en samen te voegen in het SDN. Het draait in één primaire cluster en functioneert als de CNI voor die cluster en vele andere. Op dezelfde manier kan het de analytics uit meerdere clusters combineren. Ondanks dat CN2 bekendstaat om de sterke federation van clusters, is dat in het multi-clustermodel niet noodzakelijk voor het beheer van virtuele netwerk- en beveiligingsbeleidsregels.
Ten slotte is een van de voordelen van Kubernetes ten opzichte van OpenStack dat het veel eenvoudiger te implementeren is. Het werkt in een private en public cloud, op fysieke hardware en is geschikt voor zeer kleine implementaties van één node. Daardoor wisten we dat CN2 zeer eenvoudig moest kunnen worden uitgeprobeerd. Het uitvoeren van minikube op een laptop met CN2 is binnen een paar minuten gebeurd. Juniper zorgt ervoor dat elke implementatie gestroomlijnd en lean is, met uitgebreide mogelijkheden voor logboeken, systeemanalyses, netwerkanalyses en flow-telemetrie.
Dit is een geweldige prestatie van de product- en engineerteams van Juniper en markeert het begin van een nieuwe editie van Contrail en een nieuw tijdperk voor CN2.
Meer informatie