You can use no-overlay mode to route layer 3 pod traffic directly over the underlay network with BGP, which reduces encapsulation overhead and improves east-west performance.
No-overlay mode disables the default encapsulation for the default cluster network and uses BGP-learned routes to forward pod traffic across nodes. A cluster can run overlay and no-overlay networks at the same time.
For the default cluster network, no-overlay supports managed and unmanaged routing. With managed routing, OVN-Kubernetes creates a full-mesh BGP fabric between cluster nodes only, so no external BGP routers are required and pod routes are not advertised outside the cluster (intra-cluster traffic only). Managed routing requires nodes to be directly connected at layer 2; it is not suitable for clusters with nodes in different subnets. With unmanaged routing on the default network, you configure external BGP peers and use RouteAdvertisements custom resources (CRs) to advertise pod subnets to your existing BGP infrastructure.
For a primary network defined by a ClusterUserDefinedNetwork CR, no-overlay supports unmanaged routing only. Configure external BGP peers and RouteAdvertisements CRs for the CUDN.
- Requirements
-
-
A bare-metal cluster that uses the OVN-Kubernetes network plugin.
-
Single-node zone interconnect mode enabled for the cluster.
-
BGP routing enabled and FRR-K8s deployed.
-
Layer 3 networks only (the default network or a primary network defined by a ClusterUserDefinedNetwork CR).
- Limitations
-
-
No-overlay mode is not supported for layer 2 networks.
-
EgressIP, EgressService, IPsec, multicast, and multiple external gateways are not supported for no-overlay networks.
-
Switching an existing network between overlay and no-overlay modes is not supported using a ClusterUserDefinedNetwork CR.
- Supported gateway modes
-
-
On the default cluster network, no-overlay is supported in both local gateway (LGW) mode and shared gateway (SGW) mode.
-
On a primary network defined by a ClusterUserDefinedNetwork CR, no-overlay is supported in both LGW and SGW modes.
|
|
Pods running on a CUDN configured with NoOverlay transport mode cannot establish TCP connections to NodePort services when externalTrafficPolicy is set to Cluster and the backend pod resides on a different node than the one targeted by the request. This issue occurs regardless of whether outbound SNAT is enabled or disabled.
|