Skip to content

Commit

Permalink
Add OVN-IC documentation
Browse files Browse the repository at this point in the history
Signed-off-by: Aswin Suryanarayanan <[email protected]>
  • Loading branch information
aswinsuryan committed Oct 5, 2023
1 parent 25dc5ac commit 0e52d12
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
title: "Network Plugin Syncer"
---

{{% notice info %}}
For Submariner 0.16 and above [route-agent](../route-agent/)
{{% /notice %}}

The Network Plugin Syncer provides a framework for components to interface
with the configured Kubernetes Container Network Interface (CNI) plugin to
perform any API/database tasks necessary to facilitate routing cross-cluster
Expand Down
50 changes: 47 additions & 3 deletions src/content/getting-started/architecture/route-agent/_index.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,50 @@ the new active Gateway Engine node.

## OVN Kubernetes

For the OVN Kubernetes CNI plugin, host network routing is configured on all nodes and,
on the active Gateway node, IP forwarding is configured between the `ovn-k8s-gw0`
and cable interfaces.
With OVN Kubernetes we reuse the GENEVE tunnels created by OVNKubernetes CNI to reach the
gateway nodes from non-gateway nodes and a separate VXLAN tunnel is not created.

{{% notice info %}}
For Submariner 0.15 and below refer [network plugin syncer](../networkplugin-syncer/)
{{% /notice %}}

With OVN we can have two deployment models,

{{% notice info %}}
The Submariner automatically chooses the mode based on the deployment and this is not a
configuration option in Submariner
{{% /notice %}}

### Single Zone

A single-zone deployment involves a single OVN database and a set of master nodes that
program it.

Here, Submariner configures the ovn_cluster_router to route traffic to other clusters through the
ovn-k8s-mp0 interface of the gateway node, effectively bridging it to the host networking
stack of the gateway node. Since ovn_cluster_router is distributed, this route also ensures
that traffic from non-gateway node is directed to gateway node.

The traffic that comes through Submariner tunnel from remote cluster to gateway node will be
directed to ovn-k8s-mp0 interface through host routes and will be handled by ovn_cluster_router.

![Single Zone](/images/ovn-kubernetes/ovn-without-ic.svg)

### Multiple Zone

In a multi-zone configuration, each zone operates with its dedicated OVN database and OVN master pod.
These zones are interconnected via transit switches, and OVN-Kubernetes orchestrates the essential
routing for enabling pod and service communication across nodes situated in different zones.

Within this framework, the Submariner route agent plays a pivotal role. It ensures that the same
routing configurations employed in a single zone are replicated in the OVN cluster router and the
host stack of the gateway node. For nodes outside the zone where the gateway node is located,
Submariner takes action by adding a route that directs traffic to remote clusters, channeling
it through the transit switch IP of the gateway node.

The host networking rules remain consistent across all nodes. They guide traffic towards the
ovn_cluster_router specific to that zone, leveraging ovn-k8s-mp0. The ovn_cluster_router, in
turn, guarantees that the traffic is directed through the Submariner tunnel via the gateway
node.

![Multiple Zone](/images/ovn-kubernetes/ovn-with-ic.svg)
1 change: 1 addition & 0 deletions src/static/images/ovn-kubernetes/ovn-with-ic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/static/images/ovn-kubernetes/ovn-without-ic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0e52d12

Please sign in to comment.