Choosing a Kubernetes Networking Addon

Deploying a network addon in your Kubernetes cluster will enable communication between different components within the cluster. A network addon can route traffic between nodes, allowing pods in the cluster to send and receive traffic. Load balancing and service discovery are also made easier thanks to networking addons, but each addon comes with its own networking model and configuration. In this tutorial, we will go through a list of networking addons for Kubernetes to help you choose the best one for your needs.

In this tutorial you will learn:

  • List of networking addons for Kubernetes
Choosing a Kubernetes Networking Addon
Choosing a Kubernetes Networking Addon
Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Any Linux distro
Software Kubernetes
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

List of Network Addons for Kubernetes




The following list contains links and a summary of features for all of the most popular networking addons available for Kubernetes.

NOTE
If you are just looking to quickly get started with deploying a network addon for your Kubernetes cluster, then Flannel is one of the easiest to use and most popular. Calico is also very popular but a little more complex. As with most things in Linux and tech, each choice has their pros and cons.

ACI

Cisco’s ACI (Application Centric Infrastructure) plugin is a networking and policy model that utilizes the Opflex protocol. It is capable of IP address management, L2/L3 networking, load balancing, and security functions for container workloads.

Antrea

Antrea provides networking and security features for a Kubernetes cluster. It uses VXLAN or Geneve for encapsulation and can encrypt traffic between your nodes with IPSec packet encryption.

Calico

Calico Calico provides networking and network policies that give a range of options to select from, depending on the specific needs and requirements of your situation. These options include non-overlay and overlay networks, with or without BGP. Calico can also enforce network policies across hosts, pods, and applications at the service mesh layer, but only if Istio & Envoy are utilized.

Canal

Canal is a hybrid network addon that combines two of the most popular options: Canal and Flannel.

Cilium

Cilium is a comprehensive solution for networking, security, and observability that utilizes a data plane based on eBPF. The platform offers a straightforward flat Layer 3 network that can extend across multiple clusters in either a native routing or overlay/encapsulation mode.

CNI-Genie




CNI-Genie works alongside other networking addons to help with seamless integration. It makes connections to Calico, Canal, Flannel, or Weave much easier in Kubernetes.

Contiv

Contiv offers a range of adaptable networking options that cater to different use cases, including native L3 with BGP, overlay via vxlan, classic L2, and Cisco-SDN/ACI. It also features a sophisticated policy framework.

Contrail

Contrail is a network virtualization and policy management platform that operates across multiple clouds in an open-source environment. With the ability to integrate seamlessly with Kubernetes, OpenShift, OpenStack, and Mesos orchestration systems, Contrail and Tungsten Fabric provide various isolation modes that cater to virtual machines, containers/pods, and bare metal workloads.

Flannel

Flannel is a lightweight addon that allocates a preconfigured subnet for each host. It uses VXLAN to forward packets.

Knitter

Knitter is a full network solution and CNI. It supports multiple network interfaces in Kubernetes.

Multus

Multus can work all popular CNI plugins such as Calico, Cilium, Contiv, Flannel and handle various types of workloads in Kubernetes.

OVN-Kubernetes

OVN-Kubernetes is built on top of OVN (Open Virtual Network), a virtual networking solution that emerged from the Open vSwitch (OVS) initiative. This platform offers an overlay-based networking approach for Kubernetes, featuring an OVS-based implementation of load balancing and network policy management.

Nodus

Nodus is another OVN based addon capable of multi OVN network support, multiple interfaces or IPs, load balancing, and other OVN adherent standards.

NSX-T

NSX-T facilitates the integration of VMware NSX-T with container orchestrators, like Kubernetes, and with container-based CaaS/PaaS platforms, such as Pivotal Container Service (PKS) and OpenShift.

Nuage

Nuage is an SDN platform that offers policy-driven networking for communication between Kubernetes Pods and non-Kubernetes systems, with the added benefits of visibility and security monitoring.

Romana

Romana works at Layer 3 and connects pod networks by supporting a NetworkPolicy API.

Weave Net

Weave Net provides networking and network policy to connect containers across different hosts and cloud environments.



Closing Thoughts

In this tutorial, we saw a list of available network addons for Kubernetes on a Linux system. There are plenty to choose from, and we only summarized some of the most obvious features of each one. You will need to navigate to the official page of each addon to learn about everyting they offer, but this should help you get started on choosing the best one for your Kubernetes environment.



Comments and Discussions
Linux Forum