Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail Overview

SUMMARY Learn about Cloud Native Contrail Networking.

Note:

This section is intended to provide a brief and general overview of the Contrail solution and might contain a description of features not supported in the Kubernetes distribution that you're using. See the Cloud-Native Contrail Networking Release Notes for information on features in the current release for your distribution.

All references to Kubernetes are made generically and are not intended to single out a particular distribution.

Contrail Networking is an SDN solution that automates the creation and management of virtualized networks to connect, isolate, and secure cloud workloads and services seamlessly across private and public clouds.

Cloud Native Contrail Networking brings this rich SDN feature set natively to Kubernetes as a networking platform and container network interface (CNI) plug-in.

Redesigned for cloud native architectures, Cloud Native Contrail Networking takes advantage of the benefits that Kubernetes offers, from simplified DevOps to turnkey scalability, all built on a highly available platform. These benefits include leveraging standard Kubernetes tools and practices to manage Contrail throughout its life cycle:

  • Manage Contrail using standard Kubernetes and third-party tools.
  • Scale Contrail by scaling the Kubernetes control plane.
  • Configure Contrail by using custom resource definitions (CRDs).
  • Upgrade Contrail software by applying updated manifests.
  • Uninstall Contrail by deleting Contrail namespaces and resources (not supported on OpenShift).

More than a CNI plug-in, Contrail Networking is a networking platform that provides dynamic end-to-end virtual networking and security for cloud-native containerized and virtual machine (VM) workloads, across multi-cluster compute and storage environments, all from a central point of control. It supports hard multi-tenancy for single or multi-cluster environments shared across many tenants, teams, applications, or engineering phases, scaling to thousands of nodes.

The Contrail implementation consists of a set of Contrail controllers residing in the Kubernetes control plane and a CNI plug-in and vRouter on every node. Integrating a full-fledged vRouter alongside the workloads provides Contrail the flexibility to support a wide range of networking requirements, from small single clusters to multi-cluster deployments in large data centers, including:

  • Full overlay networking including load balancing, security and multi-tenancy, elastic and resilient VPNs, and gateway services in single-cluster and multi-cluster deployments
  • Highly available and resilient network controller overseeing all aspects of the network configuration and control planes
  • Analytics services using telemetry and industry standard monitoring and presentation tools such as Prometheus and Grafana
  • Support for both CRI-O and containerd runtimes
  • Support for container and VM workloads (via kubevirt)
  • Support for DPDK data plane acceleration

Every Kubernetes control plane node contains a Contrail controller that manages a distributed set of vRouter data planes that run on every node. The Contrail controller automatically detects workload provisioning events such as a new workload being instantiated, network provisioning events such as a new virtual network being created, routing updates from internal and external sources, and unexpected network events such as link and node failures. The Contrail controller reports and logs these events where appropriate and reconfigures the vRouter data plane as necessary.

There is one Contrail controller per Kubernetes control plane node. In a cluster with multiple control plane nodes, the Contrail controllers keep in synchronization by using iBGP to exchange routes. If a control plane node goes down, the Contrail controllers on the other nodes retain all database information and continue to provide the network control plane uninterrupted.

On the worker nodes, each vRouter establishes communications with two Contrail controllers, such that the vRouter can continue to receive instruction if any one controller goes down.

By natively supporting Kubernetes, the Contrail solution leverages the simplicity, flexibility, scalability, and availability inherent to the Kubernetes architecture, while supporting a rich SDN feature set that can meet the requirements of enterprises and service providers alike. Enterprises and service providers can now manage Contrail using simplified and familiar DevOps tools and processes without needing to learn a new life cycle management (LCM) paradigm.

Benefits of Cloud Native Contrail Networking

  • Support a rich networking feature set for your overlay data center networks.
  • Deploy a highly scalable and highly available SDN solution on both upstream and commercial Kubernetes distributions.
  • Manage Contrail using familiar, industry-standard tools and practices.
  • Leverage the skill set of your existing DevOps engineers to quickly get Contrail up and running.
  • Combine with Juniper Networks fabric devices and fabric management solutions or use your own fabric.