Skip to content

Commit 9e7e3d0

Browse files
authored
Merge pull request #98460 from dfitzmau/OSDOCS-15470-hardware
OSDOCS-15470-hardware: Removed code blocks from Hardware networks doc
2 parents d068cb1 + 900724a commit 9e7e3d0

14 files changed

+148
-206
lines changed

modules/cnf-creating-an-additional-sriov-network-with-vrf-plug-in.adoc

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ The SR-IOV Network Operator manages additional network definitions. When you spe
1313
Do not edit `NetworkAttachmentDefinition` custom resources that the SR-IOV Network Operator manages. Doing so might disrupt network traffic on your additional network.
1414
====
1515

16-
To create an additional SR-IOV network attachment with the CNI VRF plugin, perform the following procedure.
16+
To create an additional SR-IOV network attachment with the CNI virtual routing and forwarding (VRF) plugin, perform the following procedure.
1717

1818
.Prerequisites
1919

@@ -52,8 +52,8 @@ spec:
5252
"vrfname": "example-vrf-name" <2>
5353
}
5454
----
55-
<1> `type` must be set to `vrf`.
56-
<2> `vrfname` is the name of the VRF that the interface is assigned to. If it does not exist in the pod, it is created.
55+
<1> Set the `type` parameter to `vrf`.
56+
<2> Specify a name for the VRF in the `vrfname` parameter. An interface gets assigned to the VRF. If you do not specify a name for the VRF in a pod, the SR-IOV Network Operator automatically generates a name for the VRF.
5757

5858
. Create the `SriovNetwork` resource:
5959
+
@@ -82,8 +82,10 @@ There might be a delay before the SR-IOV Network Operator creates the CR.
8282
To verify that the VRF CNI is correctly configured and that the additional SR-IOV network attachment is attached, do the following:
8383

8484
. Create an SR-IOV network that uses the VRF CNI.
85+
8586
. Assign the network to a pod.
86-
. Verify that the pod network attachment is connected to the SR-IOV additional network. Remote shell into the pod and run the following command. The expected output shows the name of the VRF interface and its unique ID in the routing table.
87+
88+
. Verify that the pod network attachment connects to the SR-IOV additional network. Ensure that you remote shell login into the pod and run the following command. The expected output shows the name of the VRF interface and its unique ID in the routing table.
8789
+
8890
[source,terminal]
8991
----
@@ -97,10 +99,5 @@ $ ip vrf show
9799
$ ip link
98100
----
99101
+
100-
.Example output
101-
[source,terminal]
102-
----
103-
...
104-
5: net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master red state UP mode
105-
...
106-
----
102+
Example output: `5: net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master red state UP mode`
103+

modules/nw-enable-all-multicast-mode-sriov-network.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ $ oc get network-attachment-definitions -n <namespace> <1>
133133
There might be a delay before the SR-IOV Network Operator creates the CR.
134134
====
135135
136-
. Display information about the SR-IOV network resources by running the following command:
136+
* Display information about the SR-IOV network resources by running the following command:
137137
+
138138
[source,terminal]
139139
----

modules/nw-multus-add-pod.adoc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ endif::sriov[]
5858
.Procedure
5959

6060
. Add an annotation to the `Pod` object. Only one of the following annotation formats can be used:
61-
61+
+
6262
.. To attach a secondary network without any customization, add an annotation with the following format. Replace `<network>` with the name of the secondary network to associate with the pod:
6363
+
6464
[source,yaml]
@@ -67,11 +67,8 @@ metadata:
6767
annotations:
6868
k8s.v1.cni.cncf.io/networks: <network>[,<network>,...] <1>
6969
----
70-
<1> To specify more than one secondary network, separate each network
71-
with a comma. Do not include whitespace between the comma. If you specify
72-
the same secondary network multiple times, that pod will have multiple network
73-
interfaces attached to that network.
74-
70+
<1> To specify more than one secondary network, separate each network with a comma. Do not include whitespace between the comma. If you specify the same secondary network multiple times, that pod will have multiple network interfaces attached to that network.
71+
+
7572
.. To attach a secondary network with customizations, add an annotation with the following format:
7673
+
7774
[source,yaml]
@@ -83,7 +80,7 @@ metadata:
8380
{
8481
"name": "<network>", <1>
8582
"namespace": "<namespace>", <2>
86-
"default-route": ["<default-route>"] <3>
83+
"default-route": ["<default_route>"] <3>
8784
}
8885
]
8986
----

modules/nw-multus-advanced-annotations.adoc

Lines changed: 52 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,17 @@ $ oc edit pod <name>
3838
----
3939
metadata:
4040
annotations:
41-
k8s.v1.cni.cncf.io/networks: '[<network>[,<network>,...]]' <1>
41+
k8s.v1.cni.cncf.io/networks: '[<network>[,<network>,...]]'
42+
# ...
4243
----
43-
<1> Replace `<network>` with a JSON object as shown in the following examples. The single quotes are required.
44+
+
45+
--
46+
where:
4447

45-
. In the following example the annotation specifies which network attachment will have the default route,
46-
using the `default-route` parameter.
48+
`<network>`:: Replace with a JSON object as shown in the following examples. The single quotes are required.
49+
--
50+
+
51+
In the following example the annotation specifies which network attachment will have the default route, using the `default-route` parameter.
4752
+
4853
[source,yaml]
4954
----
@@ -66,33 +71,36 @@ spec:
6671
command: ["/bin/bash", "-c", "sleep 2000000000000"]
6772
image: centos/tools
6873
----
69-
<1> The `name` key is the name of the secondary network to associate
70-
with the pod.
71-
<2> The `default-route` key specifies a value of a gateway for traffic to be routed over if no other
72-
routing entry is present in the routing table. If more than one `default-route` key is specified,
73-
this will cause the pod to fail to become active.
74+
+
75+
--
76+
where:
7477

78+
`name`:: The `name` key is the name of the secondary network to associate
79+
with the pod.
80+
`default-route`:: The `default-route` key specifies a value of a gateway for traffic to be routed over if no other routing entry is present in the routing table. If more than one `default-route` key is specified, this will cause the pod to fail to become active.
81+
--
82+
+
7583
The default route will cause any traffic that is not specified in other routes to be routed to the gateway.
76-
84+
+
7785
[IMPORTANT]
7886
====
7987
Setting the default route to an interface other than the default network interface for {product-title}
8088
may cause traffic that is anticipated for pod-to-pod traffic to be routed over another interface.
8189
====
82-
90+
+
8391
To verify the routing properties of a pod, the `oc` command may be used to execute the `ip` command within a pod.
84-
92+
+
8593
[source,terminal]
8694
----
8795
$ oc exec -it <pod_name> -- ip route
8896
----
89-
97+
+
9098
[NOTE]
9199
====
92100
You may also reference the pod's `k8s.v1.cni.cncf.io/network-status` to see which secondary network has been
93101
assigned the default route, by the presence of the `default-route` key in the JSON-formatted list of objects.
94102
====
95-
103+
+
96104
To set a static IP address or MAC address for a pod you can use the JSON formatted annotations. This requires you create networks that specifically allow for this functionality. This can be specified in a rawCNIConfig for the CNO.
97105

98106
. Edit the CNO CR by running the following command:
@@ -101,9 +109,9 @@ To set a static IP address or MAC address for a pod you can use the JSON formatt
101109
----
102110
$ oc edit networks.operator.openshift.io cluster
103111
----
104-
112+
+
105113
The following YAML describes the configuration parameters for the CNO:
106-
114+
+
107115
.Cluster Network Operator YAML configuration
108116
[source,terminal,subs="attributes+"]
109117
----
@@ -114,15 +122,17 @@ rawCNIConfig: '{ <3>
114122
}'
115123
type: Raw
116124
----
117-
<1> Specify a name for the secondary network attachment that you are
118-
creating. The name must be unique within the specified `namespace`.
119-
<2> Specify the namespace to create the network attachment in. If
120-
you do not specify a value, then the `default` namespace is used.
121-
<3> Specify the CNI plugin configuration in JSON format, which
122-
is based on the following template.
125+
+
126+
--
127+
where:
123128

129+
`name`:: Specify a name for the secondary network attachment that you are creating. The name must be unique within the specified `namespace`.
130+
`namespace`:: Specify the namespace to create the network attachment in. If you do not specify a value, then the `default` namespace is used.
131+
`rawCNIConfig`:: Specify the CNI plugin configuration in JSON format, which is based on the following template.
132+
--
133+
+
124134
The following object describes the configuration parameters for utilizing static MAC address and IP address using the macvlan CNI plugin:
125-
135+
+
126136
.macvlan CNI plugin JSON configuration object using static IP and MAC address
127137
[source,json]
128138
----
@@ -143,28 +153,28 @@ The following object describes the configuration parameters for utilizing static
143153
}]
144154
}
145155
----
146-
147-
<1> Specifies the name for the secondary network attachment to create. The name must be unique within the specified `namespace`.
148-
149-
<2> Specifies an array of CNI plugin configurations. The first object specifies a macvlan plugin configuration and the second object specifies a tuning plugin configuration.
150-
151-
<3> Specifies that a request is made to enable the static IP address functionality of the CNI plugin runtime configuration capabilities.
152-
153-
<4> Specifies the interface that the macvlan plugin uses.
154-
155-
<5> Specifies that a request is made to enable the static MAC address functionality of a CNI plugin.
156-
156+
+
157+
--
158+
where:
159+
160+
`name`:: Specifies the name for the secondary network attachment to create. The name must be unique within the specified `namespace`.
161+
`plugins`:: Specifies an array of CNI plugin configurations. The first object specifies a macvlan plugin configuration and the second object specifies a tuning plugin configuration.
162+
`ips`:: Specifies that a request is made to enable the static IP address functionality of the CNI plugin runtime configuration capabilities.
163+
`master`:: Specifies the interface that the macvlan plugin uses.
164+
`mac`:: Specifies that a request is made to enable the static MAC address functionality of a CNI plugin.
165+
--
166+
+
157167
The above network attachment can be referenced in a JSON formatted annotation, along with keys to specify which static IP and MAC address will be assigned to a given pod.
158-
168+
+
159169
Edit the pod with:
160-
170+
+
161171
[source,terminal]
162172
----
163173
$ oc edit pod <name>
164174
----
165-
175+
+
166176
.macvlan CNI plugin JSON configuration object using static IP and MAC address
167-
177+
+
168178
[source,yaml]
169179
----
170180
apiVersion: v1
@@ -180,20 +190,17 @@ metadata:
180190
}
181191
]'
182192
----
183-
184193
<1> Use the `<name>` as provided when creating the `rawCNIConfig` above.
185-
186194
<2> Provide an IP address including the subnet mask.
187-
188195
<3> Provide the MAC address.
189-
196+
+
190197
[NOTE]
191198
====
192199
Static IP addresses and MAC addresses do not have to be used at the same time, you may use them individually, or together.
193200
====
194-
195-
To verify the IP address and MAC properties of a pod with secondary networks, use the `oc` command to execute the ip command within a pod.
196-
201+
+
202+
. To verify the IP address and MAC properties of a pod with secondary networks, use the `oc` command to execute the ip command within a pod.
203+
+
197204
[source,terminal]
198205
----
199206
$ oc exec -it <pod_name> -- ip a

modules/nw-multus-ipam-object.adoc

Lines changed: 11 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
[id="nw-multus-ipam-object_{context}"]
1414
= Configuration of IP address assignment for a network attachment
1515

16-
For secondary networks, IP addresses can be assigned using an IP Address Management (IPAM) CNI plugin, which supports various assignment methods, including Dynamic Host Configuration Protocol (DHCP) and static assignment.
16+
For secondary networks, you can assign IP addresses by using an IP Address Management (IPAM) CNI plugin, which supports various assignment methods, including Dynamic Host Configuration Protocol (DHCP) and static assignment.
1717

1818
The DHCP IPAM CNI plugin responsible for dynamic assignment of IP addresses operates with two distinct components:
1919

@@ -22,17 +22,18 @@ The DHCP IPAM CNI plugin responsible for dynamic assignment of IP addresses oper
2222
2323
For networks requiring `type: dhcp` in their IPAM configuration, ensure the following:
2424

25-
* A DHCP server is available and running in the environment. The DHCP server is external to the cluster and is expected to be part of the customer's existing network infrastructure.
25+
* A DHCP server is available and running in the environment.
26+
* The DHCP server is external to the cluster and you expect the server to form part of the existing network infrastructure for the customer.
2627
* The DHCP server is appropriately configured to serve IP addresses to the nodes.
2728
28-
In cases where a DHCP server is unavailable in the environment, it is recommended to use the Whereabouts IPAM CNI plugin instead. The Whereabouts CNI provides similar IP address management capabilities without the need for an external DHCP server.
29+
In cases where a DHCP server is unavailable in the environment, consider using the Whereabouts IPAM CNI plugin instead. The Whereabouts CNI provides similar IP address management capabilities without the need for an external DHCP server.
2930

3031
[NOTE]
3132
====
32-
Use the Whereabouts CNI plugin when there is no external DHCP server or where static IP address management is preferred. The Whereabouts plugin includes a reconciler daemon to manage stale IP address allocations.
33+
Use the Whereabouts CNI plugin when no external DHCP server exists or where static IP address management is preferred. The Whereabouts plugin includes a reconciler daemon to manage stale IP address allocations.
3334
====
3435

35-
A DHCP lease must be periodically renewed throughout the container's lifetime, so a separate daemon, the DHCP IPAM CNI Daemon, is required. To deploy the DHCP IPAM CNI daemon, modify the Cluster Network Operator (CNO) configuration to trigger the deployment of this daemon as part of the secondary network setup.
36+
Ensure the periodic renewal of a DHCP lease throughout the lifetime of a container by including a separate daemon, the DHCP IPAM CNI Daemon. To deploy the DHCP IPAM CNI daemon, change the Cluster Network Operator (CNO) configuration to trigger the deployment of this daemon as part of the secondary network setup.
3637

3738
////
3839
IMPORTANT: If you set the `type` parameter to the `DHCP` value, you cannot set any other parameters.
@@ -75,7 +76,7 @@ The `addresses` array requires objects with the following fields:
7576

7677
|`address`
7778
|`string`
78-
|An IP address and network prefix that you specify. For example, if you specify `10.10.21.10/24`, then the secondary network is assigned an IP address of `10.10.21.10` and the netmask is `255.255.255.0`.
79+
|An IP address and network prefix that you specify. For example, if you specify `10.10.21.10/24`, the secondary network gets assigned an IP address of `10.10.21.10` and the netmask of `255.255.255.0`.
7980

8081
|`gateway`
8182
|`string`
@@ -94,7 +95,7 @@ The `addresses` array requires objects with the following fields:
9495

9596
|`gw`
9697
|`string`
97-
|The gateway where network traffic is routed.
98+
|The gateway that routes network traffic.
9899

99100
|====
100101

@@ -105,7 +106,7 @@ The `addresses` array requires objects with the following fields:
105106

106107
|`nameservers`
107108
|`array`
108-
|An array of one or more IP addresses for to send DNS queries to.
109+
|An array of one or more IP addresses where DNS queries get sent.
109110

110111
|`domain`
111112
|`array`
@@ -165,33 +166,10 @@ spec:
165166
"cniVersion": "0.3.1",
166167
"type": "bridge",
167168
"ipam": {
168-
"type": "dhcp"
169+
"type": "dhcp" <1>
169170
}
170171
}
171172
# ...
172173
----
174+
<1> Specifies dynamic IP address (DHCP) assignment for the cluster.
173175

174-
The following table describes the configuration parameters for dynamic IP address address assignment with DHCP.
175-
176-
.`ipam` DHCP configuration object
177-
[cols=".^2,.^2,.^6",options="header"]
178-
|====
179-
|Field|Type|Description
180-
181-
|`type`
182-
|`string`
183-
|The IPAM address type. The value `dhcp` is required.
184-
185-
|====
186-
187-
The following JSON example describes the configuration p for dynamic IP address address assignment with DHCP.
188-
189-
.Dynamic IP address (DHCP) assignment configuration example
190-
[source,json]
191-
----
192-
{
193-
"ipam": {
194-
"type": "dhcp"
195-
}
196-
}
197-
----

modules/nw-multus-whereabouts.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
The Whereabouts CNI plugin helps the dynamic assignment of an IP address to a secondary network without the use of a DHCP server.
1212

13-
The Whereabouts CNI plugin also supports overlapping IP address ranges and configuration of the same CIDR range multiple times within separate `NetworkAttachmentDefinition` CRDs. This provides greater flexibility and management capabilities in multi-tenant environments.
13+
The Whereabouts CNI plugin also supports overlapping IP address ranges and configuration of the same CIDR range multiple times within separate `NetworkAttachmentDefinition` CRDs. This provides greater flexibility and management capabilities in multitenant environments.
1414

1515
[id="dynamic-ip-address-assignment-objects_{context}"]
1616
== Dynamic IP address configuration parameters
@@ -63,7 +63,7 @@ The following example shows a dynamic address assignment configuration in a NAD
6363
[id="dynamic-ip-address-assignment-whereabouts-overlapping-ip-ranges_{context}"]
6464
== Dynamic IP address assignment that uses Whereabouts with overlapping IP address ranges
6565

66-
The following example shows a dynamic IP address assignment that uses overlapping IP address ranges for multi-tenant networks.
66+
The following example shows a dynamic IP address assignment that uses overlapping IP address ranges for multitenant networks.
6767

6868
.NetworkAttachmentDefinition 1
6969
[source,json]

0 commit comments

Comments
 (0)