Skip to main content
Account

OVN-Kubernetes

OVN-Kubernetes is a CNI plugin that maps Services and NetworkPolicies onto OVN and Open vSwitch. Learn how it works and how it compares to other CNIs.

Status
Stable
Category
Runtime
Subcategory
Cloud Native Network
License
Apache-2.0
Technology matrix Skip Just not for me See the matrix

OVN-Kubernetes is a Kubernetes CNI plugin built on top of Open Virtual Network (OVN), the logical networking layer that Open vSwitch (OVS) exposes for software-defined networks. It is the default CNI in OpenShift and the upstream project became a CNCF sandbox project in 2024.

Instead of programming iptables or generating individual flow rules per node, OVN-Kubernetes translates Kubernetes objects — Services, NetworkPolicies, EndpointSlices, Nodes — into logical switches, routers, and ACLs in OVN’s northbound database. OVN’s northd then compiles those logical flows into OpenFlow rules that ovs-vswitchd installs on each node. The result is that policy, routing, and load balancing are modelled in a single declarative graph that OVS enforces at the datapath, and changes propagate through OVN’s southbound database to all nodes without per-node controllers reinventing state. It supports VXLAN and Geneve overlays, hardware offload via smart NICs, IPv4/IPv6 dual-stack, egress IPs, multicast, network segmentation per namespace, and multiple networks per pod through the upcoming NetworkAttachmentDefinition integration.

OVN-Kubernetes is Apache-2.0 and targets the same problem space as Cilium, Calico, Antrea, Kube-OVN, and Flannel. Its defining feature is reusing the mature OVN/OVS codebase from the OpenStack world rather than building a new datapath, which is attractive in telco and enterprise environments that already run OVS and want consistent networking across virtual machines and Kubernetes pods.

Cloud Native Network

Email signup loads here. You can also manage email preferences in account settings.

Build OVN-Kubernetes? I'll show you where engineers get stuck with it → Back free content for the community →