검색

3.2. Node Feature Discovery Operator 사용

download PDF

NFD( Node Feature Discovery ) Operator는 NodeFeatureDiscovery CR(사용자 정의 리소스)을 확인하여 Node-Feature-Discovery 데몬 세트를 실행하는 데 필요한 모든 리소스를 오케스트레이션합니다. NodeFeatureDiscovery CR을 기반으로 Operator는 선택한 네임스페이스에 피연산자(NFD) 구성 요소를 생성합니다. CR을 편집하여 다른 옵션 중에서 다른 네임스페이스, 이미지, 이미지 가져오기 정책 및 nfd-worker-conf 구성 맵을 사용할 수 있습니다.

클러스터 관리자는 OpenShift CLI(oc) 또는 웹 콘솔을 사용하여 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"]

  2. 다음 명령을 실행하여 NodeFeatureDiscovery CR을 생성합니다.

    $ oc apply -f <filename>

검증

  1. 다음 명령을 실행하여 NodeFeatureDiscovery CR이 생성되었는지 확인합니다.

    $ oc get pods

    출력 예

    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

    성공적인 배포에는 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>

      명령 예

      $ skopeo inspect docker://registry.redhat.io/openshift4/ose-node-feature-discovery:v4.12

    2. 출력을 검사하여 이미지 다이제스트를 식별합니다.

      출력 예

      {
        ...
        "Digest": "sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
        ...
      }

  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>

    명령 예

    skopeo copy docker://registry.redhat.io/openshift4/ose-node-feature-discovery@sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef docker://<your-mirror-registry>/openshift4/ose-node-feature-discovery@sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

  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"]

  4. 다음 명령을 실행하여 NodeFeatureDiscovery CR을 생성합니다.

    $ oc apply -f <filename>

검증

  1. 다음 명령을 실행하여 NodeFeatureDiscovery CR의 상태를 확인합니다.

    $ oc get nodefeaturediscovery nfd-instance -o yaml
  2. 다음 명령을 실행하여 ImagePullBackOff 오류 없이 포드가 실행 중인지 확인합니다.

    $ oc get pods -n <nfd_namespace>

3.2.3. 웹 콘솔을 사용하여 NodeFeatureDiscovery CR 생성

클러스터 관리자는 OpenShift Container Platform 웹 콘솔을 사용하여 NodeFeatureDiscovery CR을 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • cluster-admin 권한이 있는 사용자로 로그인했습니다.
  • NFD Operator가 설치되어 있어야 합니다.

절차

  1. Operator 설치된 Operator 페이지로 이동합니다.
  2. Node Feature Discovery 섹션에서 제공된 API 에서 Create instance 를 클릭합니다.
  3. NodefeatureatureDiscovery CR의 값을 편집합니다.
  4. 생성을 클릭합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.