You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
= Creating an additional network attachment with the CNI VRF plugin
7
+
= Creating a secondary network attachment with the CNI VRF plugin
8
8
9
-
The Cluster Network Operator (CNO) manages additional network definitions. When you specify an additional network to create, the CNO creates the `NetworkAttachmentDefinition` custom resource (CR) automatically.
9
+
The Cluster Network Operator (CNO) manages secondary network definitions. When you specify a secondary network to create, the CNO creates the `NetworkAttachmentDefinition` custom resource (CR) automatically.
10
10
11
11
[NOTE]
12
12
====
13
-
Do not edit the `NetworkAttachmentDefinition` CRs that the Cluster Network Operator manages. Doing so might disrupt network traffic on your additional network.
13
+
Do not edit the `NetworkAttachmentDefinition` CRs that the Cluster Network Operator manages. Doing so might disrupt network traffic on your secondary network.
14
14
====
15
15
16
-
To create an additional network attachment with the CNI VRF plugin, perform the following procedure.
16
+
To create a secondary network attachment with the CNI VRF plugin, perform the following procedure.
17
17
18
18
.Prerequisites
19
19
@@ -22,7 +22,7 @@ To create an additional network attachment with the CNI VRF plugin, perform the
22
22
23
23
.Procedure
24
24
25
-
. Create the `Network` custom resource (CR) for the additional network attachment and insert the `rawCNIConfig` configuration for the additional network, as in the following example CR. Save the YAML as the file `additional-network-attachment.yaml`.
25
+
. Create the `Network` custom resource (CR) for the additional network attachment and insert the `rawCNIConfig` configuration for the secondary network, as in the following example CR. Save the YAML as the file `additional-network-attachment.yaml`.
26
26
+
27
27
[source,yaml]
28
28
----
@@ -96,7 +96,7 @@ There might be a delay before the CNO creates the CR.
96
96
97
97
.Verification
98
98
99
-
. Create a pod and assign it to the additional network with the VRF instance:
99
+
. Create a pod and assign it to the secondary network with the VRF instance:
100
100
101
101
.. Create a YAML file that defines the `Pod` resource:
102
102
+
@@ -119,7 +119,7 @@ spec:
119
119
command: ["/bin/bash", "-c", "sleep 9000000"]
120
120
image: centos:8
121
121
----
122
-
<1> Specify the name of the additional network with the VRF instance.
122
+
<1> Specify the name of the secondary network with the VRF instance.
123
123
124
124
.. Create the `Pod` resource by running the following command:
. Verify that the pod network attachment is connected to the VRF additional network. Start a remote session with the pod and run the following command:
137
+
. Verify that the pod network attachment is connected to the VRF secondary network. Start a remote session with the pod and run the following command:
138
138
+
139
139
[source,terminal]
140
140
----
@@ -148,7 +148,7 @@ Name Table
148
148
-----------------------
149
149
vrf-1 1001
150
150
----
151
-
. Confirm that the VRF interface is the controller for the additional interface:
151
+
. Confirm that the VRF interface is the controller for the secondary interface:
Copy file name to clipboardExpand all lines: modules/configuration-ovnk-multi-network-policy.adoc
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ a|
26
26
27
27
|====
28
28
29
-
For example, the following multi-network policy is valid only if the `subnets` field is defined in the additional network CNI configuration for the additional network named `blue2`:
29
+
For example, the following multi-network policy is valid only if the `subnets` field is defined in the secondary network CNI configuration for the secondary network named `blue2`:
30
30
31
31
.Example multi-network policy that uses a pod selector
32
32
[source,yaml]
@@ -44,7 +44,7 @@ spec:
44
44
- podSelector: {}
45
45
----
46
46
47
-
The following example uses the `ipBlock` network policy selector, which is always valid for an OVN-Kubernetes additional network:
47
+
The following example uses the `ipBlock` network policy selector, which is always valid for an OVN-Kubernetes secondary network:
48
48
49
49
.Example multi-network policy that uses an IP block selector
Copy file name to clipboardExpand all lines: modules/configuring-localnet-switched-topology.adoc
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -14,14 +14,14 @@ The switched `localnet` topology interconnects the workloads created as Network
14
14
// end::localnet-intro[]
15
15
16
16
// tag::localnet-content[]
17
-
You must map an additional network to the OVN bridge to use it as an OVN-Kubernetes additional network. Bridge mappings allow network traffic to reach the physical network. A bridge mapping associates a physical network name, also known as an interface label, to a bridge created with Open vSwitch (OVS).
17
+
You must map a secondary network to the OVN bridge to use it as an OVN-Kubernetes secondary network. Bridge mappings allow network traffic to reach the physical network. A bridge mapping associates a physical network name, also known as an interface label, to a bridge created with Open vSwitch (OVS).
18
18
19
-
You can create an `NodeNetworkConfigurationPolicy` (NNCP) object, part of the `nmstate.io/v1` API group, to declaratively create the mapping. This API is provided by the NMState Operator. By using this API you can apply the bridge mapping to nodes that match your specified `nodeSelector` expression, such as `node-role.kubernetes.io/worker: ''`. With this declarative approach, the NMState Operator applies additional network configuration to all nodes specified by the node selector automatically and transparently.
19
+
You can create an `NodeNetworkConfigurationPolicy` (NNCP) object, part of the `nmstate.io/v1` API group, to declaratively create the mapping. This API is provided by the NMState Operator. By using this API you can apply the bridge mapping to nodes that match your specified `nodeSelector` expression, such as `node-role.kubernetes.io/worker: ''`. With this declarative approach, the NMState Operator applies secondary network configuration to all nodes specified by the node selector automatically and transparently.
20
20
21
-
When attaching an additional network, you can either use the existing `br-ex` bridge or create a new bridge. Which approach to use depends on your specific network infrastructure. Consider the following approaches:
21
+
When attaching a secondary network, you can either use the existing `br-ex` bridge or create a new bridge. Which approach to use depends on your specific network infrastructure. Consider the following approaches:
22
22
23
23
- If your nodes include only a single network interface, you must use the existing bridge. This network interface is owned and managed by OVN-Kubernetes and you must not remove it from the `br-ex` bridge or alter the interface configuration. If you remove or alter the network interface, your cluster network will stop working correctly.
24
-
- If your nodes include several network interfaces, you can attach a different network interface to a new bridge, and use that for your additional network. This approach provides for traffic isolation from your primary cluster network.
24
+
- If your nodes include several network interfaces, you can attach a different network interface to a new bridge, and use that for your secondary network. This approach provides for traffic isolation from your primary cluster network.
25
25
26
26
The `localnet1` network is mapped to the `br-ex` bridge in the following example:
27
27
@@ -44,7 +44,7 @@ spec:
44
44
----
45
45
<1> The name for the configuration object.
46
46
<2> A node selector that specifies the nodes to apply the node network configuration policy to.
47
-
<3> The name for the additional network from which traffic is forwarded to the OVS bridge. This additional network must match the name of the `spec.config.name` field of the `NetworkAttachmentDefinition` CRD that defines the OVN-Kubernetes additional network.
47
+
<3> The name for the secondary network from which traffic is forwarded to the OVS bridge. This secondary network must match the name of the `spec.config.name` field of the `NetworkAttachmentDefinition` CRD that defines the OVN-Kubernetes secondary network.
48
48
<4> The name of the OVS bridge on the node. This value is required only if you specify `state: present`.
49
49
<5> The state for the mapping. Must be either `present` to add the bridge or `absent` to remove the bridge. The default value is `present`.
50
50
+
@@ -66,7 +66,7 @@ The following JSON example configures a localnet secondary network that is named
66
66
}
67
67
----
68
68
69
-
In the following example, the `localnet2` network interface is attached to the `ovs-br1` bridge. Through this attachment, the network interface is available to the OVN-Kubernetes network plugin as an additional network.
69
+
In the following example, the `localnet2` network interface is attached to the `ovs-br1` bridge. Through this attachment, the network interface is available to the OVN-Kubernetes network plugin as a secondary network.
70
70
71
71
.Example mapping for nodes with multiple interfaces
72
72
[source,yaml]
@@ -104,7 +104,7 @@ spec:
104
104
<3> Specifies a new OVS bridge that operates separately from the default bridge used by OVN-Kubernetes for cluster traffic.
105
105
<4> Specifies whether to enable multicast snooping. When enabled, multicast snooping prevents network devices from flooding multicast traffic to all network members. By default, an OVS bridge does not enable multicast snooping. The default value is `false`.
106
106
<5> Specifies the network device on the host system to associate with the new OVS bridge.
107
-
<6> Specifies the name of the additional network that forwards traffic to the OVS bridge. This name must match the value of the `spec.config.name` field in the `NetworkAttachmentDefinition` CRD that defines the OVN-Kubernetes additional network.
107
+
<6> Specifies the name of the secondary network that forwards traffic to the OVS bridge. This name must match the value of the `spec.config.name` field in the `NetworkAttachmentDefinition` CRD that defines the OVN-Kubernetes secondary network.
108
108
<7> Specifies the name of the OVS bridge on the node. The value is required only when `state: present` is set.
109
109
<8> Specifies the state of the mapping. Valid values are `present` to add the bridge or `absent` to remove the bridge. The default value is `present`.
= Configuration for an OVN-Kubernetes additional network
7
+
= Configuration for an OVN-Kubernetes secondary network
8
8
9
9
The {openshift-networking} OVN-Kubernetes network plugin allows the configuration of secondary network interfaces for pods. To configure secondary network interfaces, you must define the configurations in the `NetworkAttachmentDefinition` custom resource definition (CRD).
10
10
@@ -13,10 +13,7 @@ The {openshift-networking} OVN-Kubernetes network plugin allows the configuratio
13
13
Pod and multi-network policy creation might remain in a pending state until the OVN-Kubernetes control plane agent in the nodes processes the associated `network-attachment-definition` CRD.
14
14
====
15
15
16
-
You can configure an OVN-Kubernetes additional network in either _layer 2_ or _localnet_ topologies.
17
-
18
-
- A layer 2 topology supports east-west cluster traffic, but does not allow access to the underlying physical network.
19
-
- A localnet topology allows connections to the physical network, but requires additional configuration of the underlying Open vSwitch (OVS) bridge on cluster nodes.
16
+
You can configure an OVN-Kubernetes secondary network in layer 2, layer 3, or localnet topologies. For more information about features supported on these topologies, see "UserDefinedNetwork and NetworkAttachmentDefinition support matrix".
20
17
21
18
The following sections provide example configurations for each of the topologies that OVN-Kubernetes currently allows for secondary networks.
22
19
@@ -26,9 +23,9 @@ Networks names must be unique. For example, creating multiple `NetworkAttachment
Copy file name to clipboardExpand all lines: modules/configuring-pods-static-ip.adoc
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ The following example provisions a pod with a static IP address.
10
10
11
11
[NOTE]
12
12
====
13
-
* You can specify the IP address for the secondary network attachment of a pod only when the additional network attachment, a namespaced-scoped object, uses a layer 2 or localnet topology.
13
+
* You can specify the IP address for the secondary network attachment of a pod only when the secondary network attachment, a namespaced-scoped object, uses a layer 2 or localnet topology.
14
14
* Specifying a static IP address for the pod is only possible when the attachment configuration does not feature subnets.
Copy file name to clipboardExpand all lines: modules/microshift-multus-intro.adoc
+16-16Lines changed: 16 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -4,31 +4,31 @@
4
4
5
5
:_mod-docs-content-type: CONCEPT
6
6
[id="microshift-multus-intro_{context}"]
7
-
= Additional networks in {microshift-short}
7
+
= Secondary networks in {microshift-short}
8
8
9
9
During cluster installation, the _default_ pod network is configured with default values unless you customize the configuration. The default network handles all ordinary network traffic for the cluster. Using the {microshift-short} Multus CNI plugin, you can add additional interfaces to pods from other networks. This gives you flexibility when you configure pods that deliver network functionality, such as switching or routing.
== Supported additional networks for network isolation
13
-
The following additional networks are supported in {microshift-short} {product-version}:
12
+
== Supported secondary networks for network isolation
13
+
The following secondary networks are supported in {microshift-short} {product-version}:
14
14
15
15
* Bridge: Allows pods on the same host to communicate with each other and the host.
16
16
17
17
* IPVLAN: Allows pods on a host to communicate with other hosts.
18
-
** This is similar to a MACVLAN-based additional network.
19
-
** Each pod shares the same MAC address as the parent physical network interface, unlike a MACVLAN-based additional network.
18
+
** This is similar to a MACVLAN-based secondary network.
19
+
** Each pod shares the same MAC address as the parent physical network interface, unlike a MACVLAN-based secondary network.
20
20
21
-
* MACVLAN: Allows pods on a host to communicate with other hosts and the pods on those other hosts by using a physical network interface. Each pod that is attached to a MACVLAN-based additional network is provided with a unique MAC address.
21
+
* MACVLAN: Allows pods on a host to communicate with other hosts and the pods on those other hosts by using a physical network interface. Each pod that is attached to a MACVLAN-based secondary network is provided with a unique MAC address.
22
22
23
23
[NOTE]
24
24
====
25
-
Setting network policies for additional networks is not supported.
25
+
Setting network policies for secondary networks is not supported.
== Use case: Additional networks for network isolation
29
+
== Use case: Secondary networks for network isolation
30
30
31
-
You can use an additional network in situations where network isolation is needed, including control plane and data plane separation. For example, you can configure an additional interface if you want pods to access a network on the host and also communicate with devices deployed to the edge. These edge devices might be on an isolated operator network or are periodically disconnected.
31
+
You can use an secondary network in situations where network isolation is needed, including control plane and data plane separation. For example, you can configure an secondary interface if you want pods to access a network on the host and also communicate with devices deployed to the edge. These edge devices might be on an isolated operator network or are periodically disconnected.
32
32
33
33
Isolating network traffic is useful for the following performance and security reasons:
34
34
@@ -41,25 +41,25 @@ The Multus CNI plugin is deployed when the {microshift-short} service starts up.
All of the pods in the cluster still use the cluster-wide default network to maintain connectivity across the cluster. Every pod has an `eth0` interface that is attached to the cluster-wide pod network.
47
47
48
48
* You can view the interfaces for a pod by using the `oc get pod <pod_name> -o=jsonpath='{ .metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status }'` command.
49
-
* If you add additional network interfaces that use the {microshift-short} Multus CNI, they are named `net1`, `net2`, ..., `netN`.
49
+
* If you add secondary network interfaces that use the {microshift-short} Multus CNI, they are named `net1`, `net2`, ..., `netN`.
50
50
* The CNI configuration is created when the {microshift-short} Multus DaemonSet starts. This configuration is autogenerated and includes the primary CNI that is the default delegate. For {microshift-short}, the default CNI is OVN-Kubernetes.
To attach additional network interfaces to a pod, you must create and apply configurations that define how the interfaces are attached.
55
+
To attach secondary network interfaces to a pod, you must create and apply configurations that define how the interfaces are attached.
56
56
57
-
* You must configure any additional networks you want to use. Because of individual differences in networks, no default configuration is provided.
57
+
* You must configure any secondary networks you want to use. Because of individual differences in networks, no default configuration is provided.
58
58
* You must apply YAML manifest to specify each interface by using a `NetworkAttachmentDefinition` custom resource (CR). A configuration inside each of these CRs defines how that interface is created.
59
59
* CRI-O must be configured to use Multus. A default configuration is included in the `microshift-multus` RPM.
60
60
** If the Multus CNI is installed on an existing {microshift-short} instance, the host must be restarted.
61
61
** If the Multus CNI is installed alongside {microshift-short}, you can add CRs and pods and then start the {microshift-short} service. Restarting the host in this scenario is not needed.
Copy file name to clipboardExpand all lines: modules/nw-multi-network-policy-differences.adoc
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ kind: MultiNetworkPolicy
18
18
19
19
* You must use the `multi-networkpolicy` resource name when using the CLI to interact with multi-network policies. For example, you can view a multi-network policy object with the `oc get multi-networkpolicy <name>` command where `<name>` is the name of a multi-network policy.
20
20
21
-
* You must specify an annotation with the name of the network attachment definition that defines the additional network:
21
+
* You must specify an annotation with the name of the network attachment definition that defines the secondary network:
0 commit comments