3.2. Node Feature Discovery Operator の使用


Node Feature Discovery (NFD) Operator は、NodeFeatureDiscovery カスタムリソース (CR) を監視して Node-Feature-Discovery デーモンセットの実行に必要な全リソースをオーケストレーションします。NodeFeatureDiscovery CR に基づいて、Operator は選択された namespace にオペランド (NFD) コンポーネントを作成します。CR を編集して、別の namespace、イメージ、イメージプルポリシー、nfd-worker-conf config map などのオプションを使用できます。

クラスター管理者は、OpenShift CLI (oc) または Web コンソールを使用して NodeFeatureDiscovery CR を作成できます。

3.2.1. CLI を使用した NodeFeatureDiscovery CR の作成

クラスター管理者は、OpenShift CLI (oc) を使用して NodeFeatureDiscovery CR インスタンスを作成できます。

前提条件

  • OpenShift Container Platform クラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。
  • NFD Operator をインストールしました。

手順

  1. NodeFeatureDiscovery CR を作成します。

    NodeFeatureDiscovery CR の例

    apiVersion: nfd.openshift.io/v1
    kind: NodeFeatureDiscovery
    metadata:
      name: nfd-instance
      namespace: openshift-nfd
    spec:
      instance: "" # instance is empty by default
      topologyupdater: false # False by default
      operand:
        image: registry.redhat.io/openshift4/ose-node-feature-discovery:v4.12
        imagePullPolicy: Always
      workerConfig:
        configData: |
          core:
          #  labelWhiteList:
          #  noPublish: false
            sleepInterval: 60s
          #  sources: [all]
          #  klog:
          #    addDirHeader: false
          #    alsologtostderr: false
          #    logBacktraceAt:
          #    logtostderr: true
          #    skipHeaders: false
          #    stderrthreshold: 2
          #    v: 0
          #    vmodule:
          ##   NOTE: the following options are not dynamically run-time configurable
          ##         and require a nfd-worker restart to take effect after being changed
          #    logDir:
          #    logFile:
          #    logFileMaxSize: 1800
          #    skipLogHeaders: false
          sources:
            cpu:
              cpuid:
          #     NOTE: whitelist has priority over blacklist
                attributeBlacklist:
                  - "BMI1"
                  - "BMI2"
                  - "CLMUL"
                  - "CMOV"
                  - "CX16"
                  - "ERMS"
                  - "F16C"
                  - "HTT"
                  - "LZCNT"
                  - "MMX"
                  - "MMXEXT"
                  - "NX"
                  - "POPCNT"
                  - "RDRAND"
                  - "RDSEED"
                  - "RDTSCP"
                  - "SGX"
                  - "SSE"
                  - "SSE2"
                  - "SSE3"
                  - "SSE4.1"
                  - "SSE4.2"
                  - "SSSE3"
                attributeWhitelist:
            kernel:
              kconfigFile: "/path/to/kconfig"
              configOpts:
                - "NO_HZ"
                - "X86"
                - "DMI"
            pci:
              deviceClassWhitelist:
                - "0200"
                - "03"
                - "12"
              deviceLabelFields:
                - "class"
      customConfig:
        configData: |
              - name: "more.kernel.features"
                matchOn:
                - loadedKMod: ["example_kmod3"]
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、NodeFeatureDiscovery CR を作成します。

    $ oc apply -f <filename>
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、NodeFeatureDiscovery CR が作成されたことを確認します。

    $ oc get pods
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                      READY   STATUS    RESTARTS   AGE
    nfd-controller-manager-7f86ccfb58-vgr4x   2/2     Running   0          11m
    nfd-master-hcn64                          1/1     Running   0          60s
    nfd-master-lnnxx                          1/1     Running   0          60s
    nfd-master-mp6hr                          1/1     Running   0          60s
    nfd-worker-vgcz9                          1/1     Running   0          60s
    nfd-worker-xqbws                          1/1     Running   0          60s
    Copy to Clipboard Toggle word wrap

    正常にデプロイされると、Running ステータスが表示されます。

3.2.2. 非接続環境で CLI を使用した NodeFeatureDiscovery CR の作成

クラスター管理者は、OpenShift CLI (oc) を使用して NodeFeatureDiscovery CR インスタンスを作成できます。

前提条件

  • OpenShift Container Platform クラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。
  • NFD Operator をインストールしました。
  • 必要なイメージを含むミラーレジストリーにアクセスできる。
  • skopeo CLI ツールをインストールしている。

手順

  1. レジストリーイメージのダイジェストを決定します。

    1. 以下のコマンドを実行します。

      $ skopeo inspect docker://registry.redhat.io/openshift4/ose-node-feature-discovery:<openshift_version>
      Copy to Clipboard Toggle word wrap

      コマンドの例

      $ skopeo inspect docker://registry.redhat.io/openshift4/ose-node-feature-discovery:v4.12
      Copy to Clipboard Toggle word wrap

    2. 出力を調べてイメージダイジェストを識別します。

      出力例

      {
        ...
        "Digest": "sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
        ...
      }
      Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、skopeo CLI ツールを使用して、registry.redhat.io からミラーレジストリーにイメージをコピーします。

    skopeo copy docker://registry.redhat.io/openshift4/ose-node-feature-discovery@<image_digest> docker://<mirror_registry>/openshift4/ose-node-feature-discovery@<image_digest>
    Copy to Clipboard Toggle word wrap

    コマンドの例

    skopeo copy docker://registry.redhat.io/openshift4/ose-node-feature-discovery@sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef docker://<your-mirror-registry>/openshift4/ose-node-feature-discovery@sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
    Copy to Clipboard Toggle word wrap

  3. NodeFeatureDiscovery CR を作成します。

    NodeFeatureDiscovery CR の例

    apiVersion: nfd.openshift.io/v1
    kind: NodeFeatureDiscovery
    metadata:
      name: nfd-instance
    spec:
      operand:
        image: <mirror_registry>/openshift4/ose-node-feature-discovery@<image_digest>
        imagePullPolicy: Always
      workerConfig:
        configData: |
          core:
          #  labelWhiteList:
          #  noPublish: false
            sleepInterval: 60s
          #  sources: [all]
          #  klog:
          #    addDirHeader: false
          #    alsologtostderr: false
          #    logBacktraceAt:
          #    logtostderr: true
          #    skipHeaders: false
          #    stderrthreshold: 2
          #    v: 0
          #    vmodule:
          ##   NOTE: the following options are not dynamically run-time configurable
          ##         and require a nfd-worker restart to take effect after being changed
          #    logDir:
          #    logFile:
          #    logFileMaxSize: 1800
          #    skipLogHeaders: false
          sources:
            cpu:
              cpuid:
          #     NOTE: whitelist has priority over blacklist
                attributeBlacklist:
                  - "BMI1"
                  - "BMI2"
                  - "CLMUL"
                  - "CMOV"
                  - "CX16"
                  - "ERMS"
                  - "F16C"
                  - "HTT"
                  - "LZCNT"
                  - "MMX"
                  - "MMXEXT"
                  - "NX"
                  - "POPCNT"
                  - "RDRAND"
                  - "RDSEED"
                  - "RDTSCP"
                  - "SGX"
                  - "SSE"
                  - "SSE2"
                  - "SSE3"
                  - "SSE4.1"
                  - "SSE4.2"
                  - "SSSE3"
                attributeWhitelist:
            kernel:
              kconfigFile: "/path/to/kconfig"
              configOpts:
                - "NO_HZ"
                - "X86"
                - "DMI"
            pci:
              deviceClassWhitelist:
                - "0200"
                - "03"
                - "12"
              deviceLabelFields:
                - "class"
      customConfig:
        configData: |
              - name: "more.kernel.features"
                matchOn:
                - loadedKMod: ["example_kmod3"]
    Copy to Clipboard Toggle word wrap

  4. 次のコマンドを実行して、NodeFeatureDiscovery CR を作成します。

    $ oc apply -f <filename>
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、NodeFeatureDiscovery CR のステータスを確認します。

    $ oc get nodefeaturediscovery nfd-instance -o yaml
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、Pod が ImagePullBackOff エラーなしで実行していることを確認します。

    $ oc get pods -n <nfd_namespace>
    Copy to Clipboard Toggle word wrap

3.2.3. Web コンソールを使用した NodeFeatureDiscovery CR の作成

クラスター管理者は、OpenShift Container Platform Web コンソールを使用して NodeFeatureDiscovery CR を作成できます。

前提条件

  • OpenShift Container Platform クラスターにアクセスできる。
  • cluster-admin 権限を持つユーザーとしてログインしている。
  • NFD Operator をインストールしました。

手順

  1. Operators Installed Operators ページに移動します。
  2. Node Feature Discovery セクションの Provided APIs で、Create instance をクリックします。
  3. NodeFeatureDiscovery CR の値を編集します。
  4. Create をクリックします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat