Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion gpu-operator/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
KubeVirt with DRA <gpu-operator-kubevirt-dra.rst>
Kata Containers <deploy-kata-containers.rst>
Confidential Containers <confidential-containers-deploy.rst>

.. toctree::
:caption: Specialized Networks
:titlesonly:
Expand All @@ -68,6 +68,7 @@
HTTP Proxy <install-gpu-operator-proxy.rst>
Air-Gapped Network <install-gpu-operator-air-gapped.rst>
Service Mesh <install-gpu-operator-service-mesh.rst>
IPv6 Networks <install-gpu-operator-ipv6.rst>

.. toctree::
:titlesonly:
Expand Down
86 changes: 86 additions & 0 deletions gpu-operator/install-gpu-operator-ipv6.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
.. license-header
SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

.. headings # #, * *, =, -, ^, "

.. _install-gpu-operator-ipv6:

#####################################
Install GPU Operator in IPv6 Networks
#####################################

************************
About IPv6-Only Clusters
************************

You do not need any IPv6-specific configuration to install the Operator in an IPv6-only cluster.

The only exception is when you deploy DCGM separately from DCGM Exporter.
By default, DCGM Exporter runs an embedded DCGM host engine, ``nv-hostengine``, inside the exporter container.
If you set ``dcgm.enabled`` to ``true``, the Operator deploys DCGM as a separate ``nvidia-dcgm`` daemon set.
DCGM Exporter then connects to the host engine through the ``nvidia-dcgm`` service on port ``5555``.
In an IPv6-only cluster, you must configure the separate host engine to listen on IPv6 addresses.

*******************************************
Configure Standalone DCGM for IPv6 Clusters
*******************************************

The DCGM container starts the host engine with the ``-b 0.0.0.0`` argument by default.
This argument binds the host engine to IPv4 addresses only.
In an IPv6-only cluster, DCGM Exporter cannot connect to the host engine and the exporter pods go into ``CrashLoopBackOff``.

To bind the host engine to IPv6 addresses, set ``dcgm.args`` and specify ``::`` as the bind address.
The ``::`` value binds the host engine to all interfaces for IPv4 and IPv6.
The values in ``dcgm.args`` replace the default container arguments, so you must specify the complete argument list.

.. rubric:: Prerequisites

* GPU Operator v26.7.1 or later.
Earlier versions include a DCGM Exporter that cannot resolve the ``nvidia-dcgm`` service name to an IPv6 address.

.. rubric:: Procedure

#. Create a file, such as ``dcgm-values.yaml``, with the following content:

.. code-block:: yaml

dcgm:
enabled: true
args:
- "-n"
- "-b"
- "::"
- "--log-level"
- "NONE"
- "-f"
- "-"

#. Install the Operator with the values file:

.. code-block:: console

$ helm install --wait --generate-name \
-n gpu-operator --create-namespace \
nvidia/gpu-operator \
--version=${version} \
-f dcgm-values.yaml

If the Operator is already installed, you can patch the cluster policy instead:

.. code-block:: console

$ kubectl patch clusterpolicies.nvidia.com/cluster-policy --type=merge \
-p '{"spec":{"dcgm":{"enabled":true,"args":["-n","-b","::","--log-level","NONE","-f","-"]}}}'
53 changes: 53 additions & 0 deletions openshift/deploy-gpu-ocp-ipv6.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
.. headings are # * - =

.. _deploy-gpu-ocp-ipv6:

######################################
Deploy GPU Operator in an IPv6 Network
######################################

************
Introduction
************

You can deploy the NVIDIA GPU Operator on an OpenShift Container Platform cluster that uses IPv6-only networking.
The only component that requires IPv6-specific configuration is NVIDIA DCGM.

The default ``ClusterPolicy`` custom resource sets ``dcgm.enabled`` to ``true``.
With this setting, the Operator deploys DCGM as a separate ``nvidia-dcgm`` daemon set.
DCGM Exporter connects to the DCGM host engine, ``nv-hostengine``, through the ``nvidia-dcgm`` service on port ``5555``.

The DCGM container starts the host engine with the ``-b 0.0.0.0`` argument by default.
This argument binds the host engine to IPv4 addresses only.
In an IPv6-only cluster, DCGM Exporter cannot connect to the host engine and the exporter pods go into ``CrashLoopBackOff``.

***********************
Configure DCGM for IPv6
***********************

To bind the host engine to IPv6 addresses, set ``dcgm.args`` and specify ``::`` as the bind address.
The ``::`` value binds the host engine to all interfaces for IPv4 and IPv6.
The values in ``dcgm.args`` replace the default container arguments, so you must specify the complete argument list.

.. rubric:: Prerequisites

* GPU Operator v26.7.1 or later.
Earlier versions include a DCGM Exporter that cannot resolve the ``nvidia-dcgm`` service name to an IPv6 address.

.. rubric:: Procedure

* If you create the cluster policy from the command line, add the following ``dcgm`` field to the ``spec`` object in the ``clusterpolicy.json`` file before you apply it:

.. code-block:: json

"dcgm": {
"enabled": true,
"args": ["-n", "-b", "::", "--log-level", "NONE", "-f", "-"]
}

* If the cluster policy already exists, patch it:

.. code-block:: console

$ oc patch clusterpolicy gpu-cluster-policy --type=merge \
-p '{"spec":{"dcgm":{"args":["-n","-b","::","--log-level","NONE","-f","-"]}}}'
1 change: 1 addition & 0 deletions openshift/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ NVIDIA GPU Operator on Red Hat OpenShift Container Platform
mig-ocp.rst
clean-up.rst
mirror-gpu-ocp-disconnected.rst
deploy-gpu-ocp-ipv6.rst
enable-gpu-monitoring-dashboard.rst
time-slicing-gpus-in-openshift.rst
openshift-virtualization.rst
Expand Down
Loading