@@ -220,7 +220,7 @@ See Deployment Examples for OCP:
220220Deployment Examples For OpenShift Container Platform
221221^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
222222
223- In OCP, some components are deployed by default like Multus and WhereAbouts , whereas others, such as NFD and SR-IOV Network Operator must be deployed manually, as described in the Installation section.
223+ In OCP, some components are deployed by default like Multus and CNI Plugins , whereas others, such as NFD and SR-IOV Network Operator must be deployed manually, as described in the Installation section.
224224
225225In addition, since there is no use of the Helm chart, the configuration should be done via the NicClusterPolicy CRD.
226226
@@ -274,8 +274,28 @@ SR-IOV device plugin, single SR-IOV resource pool:
274274 }
275275 ]
276276 }
277+ nvIpam :
278+ image : nvidia-k8s-ipam
279+ repository : |nvidia-ipam-repository|
280+ version : |nvidia-ipam-version|
281+ imagePullSecrets : []
282+ enableWebhook : false
277283
278284 Following the deployment, the Network Operator should be configured, and K8s networking deployed to use it in pod configuration.
285+
286+ To create an NV-IPAM IPPool, apply:
287+
288+ .. code-block :: yaml
289+
290+ apiVersion : nv-ipam.nvidia.com/v1alpha1
291+ kind : IPPool
292+ metadata :
293+ name : my-pool
294+ spec :
295+ subnet : 192.168.0.0/24
296+ perNodeBlockSize : 100
297+ gateway : 192.168.0.1
298+
279299 The `host-device-net.yaml`` configuration file for such a deployment:
280300
281301.. code-block :: yaml
@@ -289,18 +309,8 @@ The `host-device-net.yaml`` configuration file for such a deployment:
289309 resourceName : " hostdev"
290310 ipam : |
291311 {
292- "type": "whereabouts",
293- "datastore": "kubernetes",
294- "kubernetes": {
295- "kubeconfig": "/etc/cni/net.d/whereabouts.d/whereabouts.kubeconfig"
296- },
297- "range": "192.168.3.225/28",
298- "exclude": [
299- "192.168.3.229/30",
300- "192.168.3.236/32"
301- ],
302- "log_file" : "/var/log/whereabouts.log",
303- "log_level" : "info"
312+ "type": "nv-ipam",
313+ "poolName": "my-pool"
304314 }
305315
306316 The `pod.yaml ` configuration file for such a deployment:
@@ -360,8 +370,29 @@ Note that the SR-IOV Network Operator is required as described in the Deployment
360370 readinessProbe :
361371 initialDelaySeconds : 10
362372 periodSeconds : 30
373+ nvIpam :
374+ image : nvidia-k8s-ipam
375+ repository : |nvidia-ipam-repository|
376+ version : |nvidia-ipam-version|
377+ imagePullSecrets : []
378+ enableWebhook : false
379+
380+ SriovNetworkNodePolicy and K8s networking should be deployed.
381+
382+ NV-IPAM IPPool should be created before SriovNetwork:
383+
384+ .. code-block :: yaml
385+
386+ apiVersion : nv-ipam.nvidia.com/v1alpha1
387+ kind : IPPool
388+ metadata :
389+ name : my-pool
390+ namespace : openshift-sriov-network-operator
391+ spec :
392+ subnet : 192.168.0.0/24
393+ perNodeBlockSize : 100
394+ gateway : 192.168.0.1
363395
364- Sriovnetwork node policy and K8s networking should be deployed.
365396 `sriovnetwork-node-policy.yaml ` configuration file for such a deployment:
366397
367398.. code-block :: yaml
@@ -399,14 +430,8 @@ The `sriovnetwork.yaml` configuration file for such a deployment:
399430 resourceName : " sriovlegacy"
400431 ipam : |
401432 {
402- "datastore": "kubernetes",
403- "kubernetes": {
404- "kubeconfig": "/etc/cni/net.d/whereabouts.d/whereabouts.kubeconfig"
405- },
406- "log_file": "/tmp/whereabouts.log",
407- "log_level": "debug",
408- "type": "whereabouts",
409- "range": "192.168.101.0/24"
433+ "type": "nv-ipam",
434+ "poolName": "my-pool"
410435 }
411436
412437
@@ -483,7 +508,25 @@ The following is an example of RDMA Shared with MacVlanNetwork:
483508 image : k8s-rdma-shared-dev-plugin
484509 repository : |k8s-rdma-shared-dev-plugin-repository|
485510 version : |k8s-rdma-shared-dev-plugin-version|
511+ nvIpam :
512+ image : nvidia-k8s-ipam
513+ repository : |nvidia-ipam-repository|
514+ version : |nvidia-ipam-version|
515+ imagePullSecrets : []
516+ enableWebhook : false
517+
518+ To create an NV-IPAM IPPool, apply:
519+
520+ .. code-block :: yaml
486521
522+ apiVersion : nv-ipam.nvidia.com/v1alpha1
523+ kind : IPPool
524+ metadata :
525+ name : my-pool
526+ spec :
527+ subnet : 192.168.0.0/24
528+ perNodeBlockSize : 100
529+ gateway : 192.168.0.1
487530
488531 The `macvlan-net-ocp.yaml ` configuration file for such a deployment in an OpenShift Platform:
489532
@@ -498,7 +541,11 @@ The `macvlan-net-ocp.yaml` configuration file for such a deployment in an OpenSh
498541 master : enp4s0f0np0
499542 mode : bridge
500543 mtu : 1500
501- ipam : ' {"type": "whereabouts", "range": "16.0.2.0/24", "gateway": "16.0.2.1"}'
544+ ipam : |
545+ {
546+ "type": "nv-ipam",
547+ "poolName": "my-pool"
548+ }
502549
503550 The `pod.yaml ` configuration file for such a deployment:
504551
0 commit comments