Skip to content

Commit 287878d

Browse files
authored
Merge pull request #103471 from ShaunaDiaz/OSDOCS-16832
OSDOCS-16832: MNW-1: Multiple Networks Core Concepts and VRF Overview
2 parents 0dbeb94 + 4fc543e commit 287878d

10 files changed

+178
-94
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1557,6 +1557,8 @@ Topics:
15571557
Topics:
15581558
- Name: Understanding multiple networks
15591559
File: understanding-multiple-networks
1560+
- Name: Use cases for a secondary network
1561+
File: use-cases-secondary-network
15601562
- Name: Primary networks
15611563
Dir: primary_networks
15621564
Distros: openshift-enterprise, openshift-origin

modules/cnf-about-virtual-routing-and-forwarding.adoc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@
66
[id="cnf-about-virtual-routing-and-forwarding_{context}"]
77
= About virtual routing and forwarding
88

9-
Virtual routing and forwarding (VRF) devices combined with IP rules provide the ability to create virtual routing and forwarding domains. VRF reduces the number of permissions needed by CNF, and provides increased visibility of the network topology of secondary networks. VRF is used to provide multi-tenancy functionality, for example, where each tenant has its own unique routing tables and requires different default gateways.
9+
[role="_abstract"]
10+
You can use virtual routing and forwarding (VRF) to provide multi-tenancy functionality. For example, where each tenant has its own unique routing tables and requires different default gateways.
1011

11-
Processes can bind a socket to the VRF device. Packets through the binded socket use the routing table associated with the VRF device. An important feature of VRF is that it impacts only OSI model layer 3 traffic and above so L2 tools, such as LLDP, are not affected. This allows higher priority IP rules such as policy based routing to take precedence over the VRF device rules directing specific traffic.
12+
VRF reduces the number of permissions needed by cloud-native network function (CNF), and provides increased visibility of the network topology of secondary networks. VRF devices combined with IP address rules provide the ability to create virtual routing and forwarding domains.
1213

13-
[id="cnf-benefits-secondary-networks-telecommunications-operators_{context}"]
14-
== Benefits of secondary networks for pods for telecommunications operators
14+
Processes can bind a socket to the VRF device. Packets through the binded socket use the routing table associated with the VRF device. An important feature of VRF is that it impacts only OSI model layer 3 traffic and above so L2 tools, such as LLDP, are not affected. This allows higher priority IP address rules such as policy-based routing to take precedence over the VRF device rules directing specific traffic.
1515

16-
In telecommunications use cases, each CNF can potentially be connected to multiple different networks sharing the same address space. These secondary networks can potentially conflict with the cluster's main network CIDR. Using the CNI VRF plugin, network functions can be connected to different customers' infrastructure using the same IP address, keeping different customers isolated. IP addresses are overlapped with {product-title} IP space. The CNI VRF plugin also reduces the number of permissions needed by CNF and increases the visibility of network topologies of secondary networks.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Module included in the following assemblies:
2+
//
3+
// networking/multiple_networks/about-virtual-routing-and-forwarding.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="cnf-benefits-secondary-networks-telco-ops_{context}"]
7+
= Benefits of secondary networks for pods for telecommunications operators
8+
9+
[role="_abstract"]
10+
You can connect network functions to different customers' infrastructure by using the same IP address with the Container Network Interface (CNI) virtual routing and forwarding (VRF) plugin. Using the CNI VRF plugin keeps different customers isolated.
11+
12+
In telecommunications use cases, each CNF can potentially be connected to many different networks sharing the same address space. These secondary networks can potentially conflict with the cluster's main network CIDR.
13+
14+
With the CNI VRF plugin, IP addresses are overlapped with the {product-title} IP address space. The CNI VRF plugin also reduces the number of permissions needed by CNF and increases the visibility of the network topologies of secondary networks.

modules/nw-about-multicast.adoc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
[id="nw-about-multicast_{context}"]
77
= About multicast
88

9+
[role="_abstract"]
910
With IP multicast, data is broadcast to many IP addresses simultaneously.
1011

1112
[IMPORTANT]
1213
====
1314
* At this time, multicast is best used for low-bandwidth coordination or service discovery and not a high-bandwidth solution.
14-
* By default, network policies affect all connections in a namespace. However, multicast is unaffected by network policies. If multicast is enabled in the same namespace as your network policies, it is always allowed, even if there is a `deny-all` network policy. Cluster administrators should consider the implications to the exemption of multicast from network policies before enabling it.
15+
* By default, network policies affect all connections in a namespace. However, multicast is unaffected by network policies. If multicast is enabled in the same namespace as your network policies, it is always allowed, even if there is a `deny-all` network policy.
16+
* Cluster administrators must consider the implications of the exemption of multicast from network policies before enabling it.
1517
====
1618

17-
Multicast traffic between {product-title} pods is disabled by default. If you are using the OVN-Kubernetes network plugin, you can enable multicast on a per-project basis.
19+
Multicast traffic between {product-title} pods is disabled by default. If you are using the OVN-Kubernetes network plugin, you can enable multicast on a per-project basis.

modules/nw-enabling-multicast.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ endif::[]
1515
[id="nw-enabling-multicast_{context}"]
1616
= Enabling multicast between pods
1717

18+
[role="_abstract"]
1819
You can enable multicast between pods for your project.
1920

2021
.Prerequisites
21-
* Install the OpenShift CLI (`oc`).
22+
23+
* Install the {oc-first}.
2224
* You must log in to the cluster with a user that has the `cluster-admin`
2325
ifdef::openshift-rosa,openshift-dedicated[]
2426
or the `dedicated-admin`

modules/support-matrix-for-udn-nad.adoc

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,32 @@
11
//module included in the following assembly:
22
//
3-
// *networkking/multiple_networks/understanding-user-defined-networks.adoc
3+
// *networking/multiple_networks/understanding-user-defined-networks.adoc
44

5-
:_mod-docs-content-type: CONCEPT
5+
:_mod-docs-content-type: REFERENCE
66
[id="support-matrix-for-udn-nad_{context}"]
77
= UserDefinedNetwork and NetworkAttachmentDefinition support matrix
88

9-
The `UserDefinedNetwork` and `NetworkAttachmentDefinition` custom resources (CRs) provide cluster administrators and users the ability to create customizable network configurations and define their own network topologies, ensure network isolation, manage IP addressing for workloads, and configure advanced network features. A third CR, `ClusterUserDefinedNetwork`, is also available, which allows administrators the ability to create and define secondary networks spanning multiple namespaces at the cluster level.
9+
[role="_abstract"]
10+
You can use user defined networks and network attachment definitions to define and configure customized networks for your needs.
1011

11-
User-defined networks and network attachment definitions can serve as both the primary and secondary network interface, and each support `layer2` and `layer3` topologies; a third network topology, Localnet, is also supported with network attachment definitions with secondary networks.
12+
By creating `UserDefinedNetwork` and `NetworkAttachmentDefinition` custom resources (CRs), cluster administrators can complete the following tasks:
13+
14+
* Create customizable network configurations
15+
* Define their own network topologies
16+
* Ensure network isolation
17+
* Manage IP addressing for workloads
18+
* Configure advanced network features
19+
20+
By creating a `ClusterUserDefinedNetwork` CR, administrators can create and define secondary networks that span multiple namespaces at the cluster level.
21+
22+
User-defined networks and network attachment definitions can serve as both the primary and secondary network interface, and each support `layer2` and `layer3` topologies.
1223

1324
[NOTE]
1425
====
15-
As of {product-title} 4.19, the use of the `Localnet` topology by `ClusterUserDefinedNetwork` CRs is generally available. This configuration is the preferred method for connecting physical networks to virtual networks. Alternatively, the `NetworkAttachmentDefinition` CR can also be used to create secondary networks with `Localnet` topologies.
26+
As of {product-title} 4.19, the use of the `Localnet` topology by `ClusterUserDefinedNetwork` CRs is generally available. This configuration is the preferred method for connecting physical networks to virtual networks. Or, you can use the `NetworkAttachmentDefinition` CR to create secondary networks with `Localnet` topologies.
1627
====
1728

18-
The following section highlights the supported features of the `UserDefinedNetwork` and `NetworkAttachmentDefinition` CRs when they are used as either the primary or secondary network. A separate table for the `ClusterUserDefinedNetwork` CR is also included.
29+
The following section highlights the supported features of the `UserDefinedNetwork` and `NetworkAttachmentDefinition` CRs when used as either the primary or secondary network. A separate table for the `ClusterUserDefinedNetwork` CR is also included.
1930

2031
.Primary network support matrix for `UserDefinedNetwork` and `NetworkAttachmentDefinition` CRs
2132
[cols="1a,1a,1a, options="header"]
@@ -46,11 +57,11 @@ The following section highlights the supported features of the `UserDefinedNetwo
4657
^| ✓
4758
^| ✓
4859

49-
^| Multicast ^[1]^
60+
^| Multicast
5061
^| X
5162
^| ✓
5263

53-
^| `NetworkPolicy` resource ^[2]^
64+
^| `NetworkPolicy` resource
5465
^| ✓
5566
^| ✓
5667

@@ -59,12 +70,16 @@ The following section highlights the supported features of the `UserDefinedNetwo
5970
^| X
6071

6172
|===
62-
1. Multicast must be enabled in the namespace, and it is only available between OVN-Kubernetes network pods. For more information about multicast, see "Enabling multicast for a project".
73+
where:
74+
75+
Multicast:: Must be enabled in the namespace, and it is only available between OVN-Kubernetes network pods. For more information, see "About multicast".
76+
+
77+
`NetworkPolicy` resource:: When creating a `ClusterUserDefinedNetwork` CR with a primary network type, network policies must be created _after_ the `UserDefinedNetwork` CR.
6378

6479
.Secondary network support matrix for `UserDefinedNetwork` and `NetworkAttachmentDefinition` CRs
6580
[cols="1a,1a,1a,1a, options="header"]
6681
|===
67-
^| Network feature ^| Layer2 topology ^|Layer3 topology ^|Localnet topology ^[1]^
82+
^| Network feature ^| Layer2 topology ^|Layer3 topology ^|Localnet topology
6883

6984
^| east-west traffic
7085
^| ✓
@@ -112,7 +127,7 @@ The following section highlights the supported features of the `UserDefinedNetwo
112127
^| ✓ (`NetworkAttachmentDefinition` CR only)
113128

114129
|===
115-
1. The Localnet topology is unavailable for use with the `UserDefinedNetwork` CR. It is only supported on secondary networks for `NetworkAttachmentDefinition` CRs.
130+
The Localnet topology is unavailable for use with the `UserDefinedNetwork` CR. It is only supported on secondary networks for `NetworkAttachmentDefinition` CRs.
116131

117132
.Support matrix for `ClusterUserDefinedNetwork` CRs
118133
[cols="1a,1a,1a,1a, options="header"]
@@ -149,7 +164,7 @@ The following section highlights the supported features of the `UserDefinedNetwo
149164
^| ✓
150165
^|
151166

152-
^| Multicast ^[1]^
167+
^| Multicast
153168
^| X
154169
^| ✓
155170
^|
@@ -159,11 +174,14 @@ The following section highlights the supported features of the `UserDefinedNetwo
159174
^| X
160175
^| ✓
161176

162-
^| `NetworkPolicy` resource ^[2]^
177+
^| `NetworkPolicy` resource
163178
^| ✓
164179
^| ✓
165180
^|
166181

167182
|===
168-
1. Multicast must be enabled in the namespace, and it is only available between OVN-Kubernetes network pods. For more information, see "About multicast".
169-
2. When creating a `ClusterUserDefinedNetwork` CR with a primary network type, network policies must be created _after_ the `UserDefinedNetwork` CR.
183+
where:
184+
185+
Multicast:: must be enabled in the namespace, and it is only available between OVN-Kubernetes network pods. For more information, see "About multicast".
186+
+
187+
`NetworkPolicy` resource:: When creating a `ClusterUserDefinedNetwork` CR with a primary network type, network policies must be created _after_ the `UserDefinedNetwork` CR.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//module included in the following assembly:
2+
//
3+
// *networking/multiple_networks/understanding-user-defined-networks.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="understanding-multiple-networks-con_{context}"]
7+
= Multiple networks with the OVN-K CNI
8+
9+
[role="_abstract"]
10+
By default, OVN-Kubernetes serves as the Container Network Interface (CNI) of an {product-title} cluster. This network interface is what administrators use to create default networks.
11+
12+
Both user-defined networks and Network Attachment Definitions can serve as the following network types:
13+
14+
* *Primary networks*: Act as the primary network for the pod. By default, all traffic passes through the primary network unless you have configured a pod route to send traffic through other networks.
15+
16+
* *Secondary networks*: Act as secondary, non-default networks for a pod. Secondary networks offer separate interfaces dedicated to specific traffic types or purposes. Only pod traffic that you explicitly configure to use a secondary network routes through its interface.
17+
18+
The following diagram shows a cluster that has an existing default network infrastructure that uses a physical network interface, `eth0`, to connect to two namespaces. Pods or virtual machines (VMs) in one namespace run in isolation from pods or VMs in the other namespace. You can create only one primary network. However, you can create multiple secondary networks for each namespace.
19+
20+
.Diagram showing namespaces with multiple secondary UDNs
21+
image::501_OpenShift_UDN_pri_sec_0925.png[Diagram showing namespaces with multiple secondary UDNs]
22+
23+
During cluster installation, {product-title} administrators can configure alternative default secondary pod networks by leveraging the Multus CNI plugin. With Multus, you can use multiple CNI plugins such as ipvlan, macvlan, or Network Attachment Definitions together to serve as secondary networks for pods.
24+
25+
[IMPORTANT]
26+
====
27+
User-defined networks are only supported when OVN-Kubernetes is used as the CNI. UDNs are not supported for use with other CNIs.
28+
====
29+
30+
You can define an secondary network based on the available CNI plugins and attach one or more of these networks to your pods. You can define more than one secondary network for your cluster depending on your needs. This gives you flexibility when you configure pods that deliver network functionality, such as switching or routing. For more information, see the the links in the Additional resources:
31+
32+
* For a complete list of supported CNI plugins, see "Secondary networks in {product-title}".
33+
* For information about user-defined networks, see "About user-defined networks (UDNs)".
34+
* For information about Network Attachment Definitions, "Creating primary networks by using a NetworkAttachmentDefinition".

networking/multiple_networks/about-virtual-routing-and-forwarding.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ include::_attributes/common-attributes.adoc[]
77
toc::[]
88

99
include::modules/cnf-about-virtual-routing-and-forwarding.adoc[leveloffset=+1]
10+
11+
include::modules/cnf-benefits-secondary-networks-telco-ops.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)