在 OpenShift 上安装 Node Feature Discovery Operator#

步骤#

Node Feature Discovery (NFD) Operator 是 NVIDIA GPU Operator 的先决条件。使用 OpenShift Container Platform Web 控制台中的 Red Hat OperatorHub 目录安装 NFD Operator 。

  1. 请按照 Red Hat 文档 Node Feature Discovery Operator 中的指南安装 Node Feature Discovery Operator。

  2. 验证 Node Feature Discovery Operator 是否正在运行

    $ oc get pods -n openshift-nfd
    
    NAME                                      READY   STATUS    RESTARTS   AGE
    nfd-controller-manager-7f86ccfb58-nqgxm   2/2     Running   0          11m
    
  3. 安装 Node Feature Discovery 后,使用 NodeFeatureDiscovery 选项卡创建 Node Feature Discovery 的实例。

  1. 从侧边菜单单击 Operators > Installed Operators

  2. 找到 Node Feature Discovery 条目。

  3. 单击 Provided APIs 字段下的 NodeFeatureDiscovery

  4. 单击 Create NodeFeatureDiscovery

  5. 在随后的屏幕中单击 Create。这将启动 Node Feature Discovery Operator,它将继续标记集群中具有 GPU 的节点。

    注意

    OperatorHub 预填充的值对于 GPU Operator 有效。

验证 Node Feature Discovery Operator 是否正常运行#

Node Feature Discovery Operator 使用供应商 PCI ID 来识别节点中的硬件。NVIDIA 使用 PCI ID 10de。使用 OpenShift Container Platform Web 控制台或 CLI 来验证 Node Feature Discovery Operator 是否正常运行。

  1. 在 OpenShift Container Platform Web 控制台中,从侧边菜单单击 Compute > Nodes

  2. 选择您已知包含 GPU 的工作节点。

  3. 单击 Details 选项卡。

  4. Node labels 下,验证是否存在以下标签

    feature.node.kubernetes.io/pci-10de.present=true
    

    注意

    0x10de 是分配给 NVIDIA 的 PCI 供应商 ID。

  5. 验证 GPU 设备 (pci-10de) 是否在 GPU 节点上被发现

    $ oc describe node | egrep 'Roles|pci' | grep -v master
    
    Roles:              worker
                        feature.node.kubernetes.io/pci-10de.present=true
                        feature.node.kubernetes.io/pci-1d0f.present=true
    Roles:              worker
                        feature.node.kubernetes.io/pci-1013.present=true
                        feature.node.kubernetes.io/pci-8086.present=true
    Roles:              worker
                        feature.node.kubernetes.io/pci-1013.present=true
                        feature.node.kubernetes.io/pci-8086.present=true
    Roles:              worker
                        feature.node.kubernetes.io/pci-1013.present=true
                        feature.node.kubernetes.io/pci-8086.present=true