Skip to content

Commit 68bb898

Browse files
authored
Merge pull request #76379 from stevsmit/OSDOCS-9479-whereabouts-ipam
Adds whereabouts multi tenant example to networking docs
2 parents 350c409 + 523284e commit 68bb898

File tree

1 file changed

+47
-9
lines changed

1 file changed

+47
-9
lines changed

modules/nw-multus-ipam-object.adoc

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,14 @@ spec:
192192
[id="nw-multus-whereabouts_{context}"]
193193
== Dynamic IP address assignment configuration with Whereabouts
194194

195-
The Whereabouts CNI plugin allows the dynamic assignment of an IP address to an additional network without the use of a DHCP server.
195+
The Whereabouts CNI plugin allows the dynamic assignment of an IP address to an additional network without the use of a DHCP server.
196196

197-
The following table describes the configuration for dynamic IP address assignment with Whereabouts:
197+
The Whereabouts CNI plugin also supports overlapping IP address ranges and configuration of the same CIDR range multiple times within separate `NetworkAttachmentDefinitions`. This provides greater flexibility and management capabilities in multi-tenant environments.
198+
199+
[id="dynamic-ip-address-assignment-objects_{context}"]
200+
=== Dynamic IP address configuration objects
201+
202+
The following table describes the configuration objects for dynamic IP address assignment with Whereabouts:
198203

199204
.`ipam` whereabouts configuration object
200205
[cols=".^2,.^2,.^6",options="header"]
@@ -213,16 +218,18 @@ The following table describes the configuration for dynamic IP address assignmen
213218
|`array`
214219
|Optional: A list of zero or more IP addresses and ranges in CIDR notation. IP addresses within an excluded address range are not assigned.
215220

221+
|`network_name`
222+
|`string`
223+
| Optional: Helps ensure that each group or domain of pods gets its own set of IP addresses, even if they share the same range of IP addresses. Setting this field is important for keeping networks separate and organized, notably in multi-tenant environments.
224+
216225
|====
217226

218-
////
219-
[NOTE]
220-
=====
221-
Whereabouts can be used for both IPv4 and IPv6 addresses.
222-
=====
223-
////
227+
[id="dynamic-ip-address-assignment-whereabouts_{context}"]
228+
=== Dynamic IP address assignment configuration that uses Whereabouts
229+
230+
The following example shows a dynamic address assignment configuration that uses Whereabouts:
224231

225-
.Dynamic IP address assignment configuration example that uses Whereabouts
232+
.Whereabouts dynamic IP address assignment
226233
[source,json]
227234
----
228235
{
@@ -237,6 +244,37 @@ Whereabouts can be used for both IPv4 and IPv6 addresses.
237244
}
238245
----
239246

247+
[id="dynamic-ip-address-assignment-whereabouts-overlapping-ip-ranges_{context}"]
248+
=== Dynamic IP address assignment that uses Whereabouts with overlapping IP address ranges
249+
250+
The following example shows a dynamic IP address assignment that uses overlapping IP address ranges for multi-tenant networks.
251+
252+
.NetworkAttachmentDefinition 1
253+
[source,json]
254+
----
255+
{
256+
"ipam": {
257+
"type": "whereabouts",
258+
"range": "192.0.2.192/29",
259+
"network_name": "example_net_common", <1>
260+
}
261+
}
262+
----
263+
<1> Optional. If set, must match the `network_name` of NetworkAttachmentDefinition 2.
264+
265+
.NetworkAttachmentDefinition 2
266+
[source,json]
267+
----
268+
{
269+
"ipam": {
270+
"type": "whereabouts",
271+
"range": "192.0.2.192/24",
272+
"network_name": "example_net_common", <1>
273+
}
274+
}
275+
----
276+
<1> Optional. If set, must match the `network_name` of NetworkAttachmentDefinition 1.
277+
240278
ifdef::sr-iov[]
241279
:!sr-iov:
242280
endif::[]

0 commit comments

Comments
 (0)