Skip to content

Commit a1816bf

Browse files
author
Steven Smith
committed
Blueprints evpn-udn docs
1 parent 1dee38f commit a1816bf

9 files changed

Lines changed: 143 additions & 0 deletions

File tree

_topic_maps/_topic_map.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1872,6 +1872,14 @@ Topics:
18721872
File: disabling-route-advertisements
18731873
- Name: Example route advertisements setup
18741874
File: example-route-advertisement-setup
1875+
- Name: BGP EVPN for user-defined networks
1876+
Dir: bgp_evpn_udn
1877+
Distros: openshift-enterprise, openshift-origin
1878+
Topics:
1879+
- Name: About BGP EVPN for primary cluster user-defined networks
1880+
File: about-bgp-evpn-primary-cudn
1881+
- Name: Enabling BGP EVPN for primary cluster user-defined networks
1882+
File: enabling-bgp-evpn-primary-cudn
18751883
- Name: Using PTP hardware
18761884
Dir: ptp
18771885
Distros: openshift-enterprise,openshift-origin

modules/nw-bgp-evpn-about.adoc

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/advanced_networking/bgp_evpn_udn/about-bgp-evpn-user-defined-networks.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="nw-bgp-evpn-about_{context}"]
7+
= Overview of BGP EVPN with OVN-Kubernetes
8+
9+
[role="_abstract"]
10+
Border Gateway Protocol (BGP) Ethernet Virtual Private Network (EVPN) extends BGP with address families that distribute Ethernet and IP VPN routes, for example, MAC reachability in a MAC-VRF and IP prefixes in an IP-VRF. On {product-title} with the OVN-Kubernetes network plugin, you can attach primary cluster-scoped user-defined networks (CUDNs) to an external EVPN fabric.
11+
12+
This integration lets you extend segmentation and reachability for tenant namespaces beyond the cluster boundary by using the same BGP-based standards as your physical or virtual network infrastructure, instead of relying on SDN-specific integration only.
13+
14+
OVN-Kubernetes drives EVPN integration with FRR-K8s: FRR establishes BGP EVPN sessions toward your fabric, while OVN-Kubernetes programs overlay and underlay state for the selected CUDNs. A `VTEP` custom resource defines how the cluster exposes Virtual Tunnel Endpoints for EVPN encapsulation, and `RouteAdvertisements` objects select which primary CUDNs are advertised and which FRR configuration to use.
15+
16+
[id="about-bgp-evpn-other-features_{context}"]
17+
== About BGP EVPN, BGP routing, and route advertisements
18+
19+
BGP EVPN for primary CUDNs is not a separate routing stack. It requires the same platform pieces as OVN-Kubernetes BGP:
20+
21+
* FRR-K8s must be deployed through Cluster Network Operator `additionalRoutingCapabilities` so that `FRRConfiguration` objects can express BGP and EVPN toward peers on the provider network.
22+
23+
* Route advertisements must be enabled in the OVN-Kubernetes configuration so that `RouteAdvertisements` CRs can associate fabric-facing FRR configuration with primary CUDNs that use EVPN transport.
24+
25+
You configure BGP neighbors, address families, and related policies in `FRRConfiguration` CRs. You then use `RouteAdvertisements` to tie those configurations to `ClusterUserDefinedNetwork` objects that are labeled or selected according to your design.
26+
27+
[id="bgp-evpn-gateway-mode_{context}"]
28+
== Gateway mode and node forwarding
29+
30+
EVPN for primary CUDNs is supported when the cluster uses local gateway mode. The `spec.defaultNetwork.ovnKubernetesConfig.gatewayConfig.routingViaHost` resource must be `true` in the `Network` Operator API. Invalid combinations are rejected through resource status conditions.
31+
32+
[id="bgp-evpn-supported-platforms_{context}"]
33+
== Supported platforms
34+
35+
BGP EVPN for primary CUDNs is intended for bare metal deployments where nodes peer with an external BGP EVPN fabric.
36+
37+
[id="bgp-evpn-compatibility_{context}"]
38+
== Compatibility and limitations
39+
40+
The following cluster networking features are incompatible with EVPN on primary CUDNs:
41+
42+
* EgressIP
43+
* IPsec encryption for OVN-Kubernetes
44+
* Overlay topologies
45+
46+
The following limitations apply to load balancer service IPs and MetalLB and FRR-K8s:
47+
48+
Load balancer service IPs:: Advertising Kubernetes `LoadBalancer` service IPs over EVPN is not handled the same way as unicast pod or CUDN routes. MetalLB can advertise services over BGP in many environments, but EVPN address-family support for those advertisements might require additional configuration outside the scope of a default integration. Until product integration catches up, advertising load balancer IPs on EVPN might require explicit, fabric-specific configuration.
49+
50+
MetalLB and FRR-K8s:: MetalLB and OVN-Kubernetes share the FRR-K8s deployment. Follow the namespace and migration guidance for `FRRConfiguration` CRs so that MetalLB-owned configuration and cluster routing configuration do not conflict.
51+
52+
[id="bgp-evpn-cudn-lifecycle_{context}"]
53+
== Cluster user-defined network lifecycle
54+
55+
You enable EVPN by setting EVPN-related fields on a primary `ClusterUserDefinedNetwork` resource, for example, EVPN transport and VNI or route-target settings. You cannot retroactively enable EVPN on an existing CUDN whose specification is already immutable. You must plan EVPN when you create the network or create a new CUDN for EVPN workloads.
56+
57+
[id="bgp-evpn-custom-resources_{context}"]
58+
== Custom resources involved in EVPN
59+
60+
The following custom resources are commonly used in an EVPN deployment:
61+
62+
`FRRConfiguration`::
63+
Defines BGP peers, autonomous system numbers, and EVPN-related address-family configuration toward the provider fabric. Namespaced; used with FRR-K8s.
64+
65+
`VTEP`::
66+
Describes Virtual Tunnel Endpoint parameters (for example, address ranges or mode) so that OVN-Kubernetes can align tunnel endpoints with your underlay.
67+
68+
`RouteAdvertisements`::
69+
Selects which networks to advertise (including primary CUDNs), which `FRRConfiguration` instances to use, and optional node selectors.
70+
71+
`ClusterUserDefinedNetwork`::
72+
Defines the primary CUDN topology (layer 2 or layer 3), attaches namespaces, and carries EVPN transport settings that link the logical network to the configured VTEP and VPN identifiers.
73+
74+
Together, these objects separate fabric peering policy (FRR), what to advertise (`RouteAdvertisements`), tunnel endpoint context (`VTEP`), and tenant network definition (CUDN).

modules/nw-bgp-evpn-enable.adoc

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/bgp_routing/enabling-bgp-evpn-primary-cudn.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="nw-bgp-evpn-routing-config_{context}"]
7+
= Enabling Border Gateway Protocol (BGP) EVPN routing
8+
9+
As a cluster administrator, you can. . .
10+
11+
.Prerequisites
12+
13+
.Procedure
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../_attributes
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="about-bgp-evpn-user-defined-networks"]
3+
= About BGP EVPN for primary cluster user-defined networks
4+
include::_attributes/common-attributes.adoc[]
5+
:context: about-bgp-evpn-user-defined-networks
6+
7+
toc::[]
8+
9+
[role="_abstract"]
10+
Ethernet Virtual Private Network (EVPN) is a Border Gateway Protocol (BGP) control-plane technology commonly used in data center fabrics. When you enable this capability on {product-title}, you can connect primary cluster user-defined networks (CUDNs) to an external BGP EVPN fabric so that pod and virtual machine traffic on those networks participates in the same routing and bridging semantics as the rest of your network. The feature builds on the same OVN-Kubernetes components as BGP routing and route advertisements: FRR-K8s, `RouteAdvertisements`, and `ClusterUserDefinedNetwork` objects configured for EVPN transport.
11+
12+
For prerequisites that apply to all BGP-based integrations, see xref:../../../networking/advanced_networking/bgp_routing/about-bgp-routing.adoc#about-bgp-routing[About BGP routing] and xref:../../../networking/advanced_networking/route_advertisements/about-route-advertisements.adoc#about-route-advertisements[About route advertisements]. For information about CUDNs and user-defined networks (UDNs), see xref:../../../networking/multiple_networks/primary_networks/about-user-defined-networks.adoc#about-user-defined-networks[About user-defined networks].
13+
14+
[IMPORTANT]
15+
====
16+
If you are using the MetalLB Operator and there are existing `FRRConfiguration` custom resources (CRs) in the `metallb-system` namespace that were created by cluster administrators or by third-party components other than the MetalLB Operator, you must ensure that they are copied to the `openshift-frr-k8s` namespace or that those components use the `openshift-frr-k8s` namespace. For more information, see xref:../../../networking/advanced_networking/bgp_routing/migrating-frr-k8s-resources.adoc#migrating-frr-k8s-resources[Migrating FRR-K8s resources].
17+
====
18+
19+
include::modules/nw-bgp-evpn-about.adoc[leveloffset=+1]
20+
21+
[role="_additional-resources"]
22+
[id="additional-resources_about-bgp-evpn-user-defined-networks"]
23+
== Additional resources
24+
25+
* xref:../../../networking/advanced_networking/bgp_routing/about-bgp-routing.adoc#about-bgp-routing[About BGP routing]
26+
27+
* xref:../../../networking/advanced_networking/route_advertisements/about-route-advertisements.adoc#about-route-advertisements[About route advertisements]
28+
29+
* xref:../../../networking/multiple_networks/primary_networks/about-user-defined-networks.adoc#about-user-defined-networks[About user-defined networks]
30+
31+
* link:https://docs.frrouting.org/en/latest/bgp.html[FRRouting User Guide: BGP]
32+
33+
* link:https://docs.frrouting.org/en/latest/evpn.html[FRRouting User Guide: EVPN]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="enabling-bgp-evpn-primary-cudn"]
3+
= Enabling BGP EVPN for primary cluster user-defined networks
4+
include::_attributes/common-attributes.adoc[]
5+
:context: enabling-bgp-evpn-routing
6+
7+
toc::[]
8+
9+
As a cluster administrator, you can enable OVN-Kubernetes EVPN Border Gateway Protocol (BGP) routing support for your cluster.
10+
11+
include::modules/nw-bgp-evpn-enable.adoc[leveloffset=+1]
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../images
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../modules
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../snippets

0 commit comments

Comments
 (0)