OVN Kubernetes
A specific handler component is deployed for the OVN Kubernetes CNI plugin.
OVN is a project that builds on top of Open vSwitch providing a rich high level API for describing virtual network components like Logical Routers, Logical Switches, Load balancers, Logical Ports. OVN Kubernetes is a Cloud Management System Plugin (CMS plugin) which manages OVN resources to setup networking for Kubernetes clusters.
The OVN Kubernetes handler watches for Submariner Endpoints and Kubernetes
Nodes and interfaces with the OVN databases (OVN NorthDB and SouthDB) to store and
create OVN resources necessary for Submariner, including:
-
A logical router named
submariner_routerthat handles the communication to remote clusters and has a leg on the network which can talk to theovn-k8s-sub0interface on the Gateway node. This router is pinned to the active Gateway chassis. -
The Ovn-Kubernetes Specific OVN Load Balancer Group (which contains all of the cluster’s service VIPs) is added to the
submariner_routerin order to ensure total service connectivity. -
OVN Logical Router Static Routes added to the
submariner_routerto ensure local traffic destined for remote clusters and remote traffic destined for local resources is routed correctly. -
OVN Logical Router Policies added to the existing
ovn_cluster_routerwhich redirect traffic targeted for remote routers through thesubmariner_router. -
A
submariner_joinlogical switch that connects thesubmariner_routerwith theovn_cluster_router.
Requires OVN NorthBound DB version 6.1.0+, available with OCP 4.11.0+
The handler architecture
The following diagram illustrates the required Submariner OVN architecture transposed
on the native OVN-Kubernetes managed OVN architecture and components. The specific
networkpluginsyncer managed OVN components are boxed in green.