CNI Integrations

What is CNI?

CNI (Container Network Interface) is specification for writing plugins to configure network interfaces for Linux containers, along with a number of supported plugins. CNI concerns itself only with network connectivity of containers and removing allocated resources when the container is deleted. Because of this focus, CNI has a wide range of support and the specification is simple to implement.

For more information on CNI refer to the CNI Github page

Plugins Supported By Managed Kubernetes

Platform9 Managed Kubernetes supports following CNI plugins today:

Calico (Preferred CNI)

Calico is a popular Layer 3 based networking solution that is used to interconnect virtual machines or Linux containers with the help of virtual routers. See Calico CNI for more information on Calico integration with Managed Kubernetes.

Flannel

Flannel is a very simple overlay network that provides an easy way to configure a layer 3 network fabric designed for Kubernetes. See Flannel CNI for more information on Flannel integration with Managed Kubernetes.

Community CNI Plugin Overview

A variety of CNI plugins are available to enable Kubernetes to integrate with specific networking solutions.

Following table compares the various CNI plugins across different networking features. Platform9 only supports a Calico and Flannel

Plugin FeaturesFlannelCalicoWeaveCanalContiv
Networking pluginForwards to bridge driverYesYes (via bridge plugin)Yes (bridge driver)Yes
IPAMhost-localcalico-ipamweave ipam / host-localhost-localcontiv ipam
Host to host networkingOverlay - UDP and VXLANBGP L3 routing basedFast data path and weave router sleeve (VXLAN)Calico + FlannelOverlay - VXLAN and VLAN based networks using a vSwitch
Kubernetes network policy supportNoYesYesYesYes
ScalabilityLimitedL3 IP. ScalableScalable. Fast data path makes it more efficientScalable with advantage of easy setup that flannel bringsIntegrates with ACI fabric. Highly scalable with ACI
DebugabilityEasy with UDPEasy since it uses IPWeave CLI has multiple debugging commandsMix of Calico + FlannelCommunity and documentation

##

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
  Last updated by Chris Jones