3.3. Utilisation de l'opérateur de découverte de caractéristiques de nœuds
L'opérateur NFD (Node Feature Discovery) orchestre toutes les ressources nécessaires à l'exécution de l'ensemble de démons Node-Feature-Discovery en surveillant l'arrivée d'un CR NodeFeatureDiscovery. Sur la base de la CR NodeFeatureDiscovery, l'opérateur crée les composants de l'opérande (BDNF) dans l'espace de noms souhaité. Vous pouvez modifier le CR pour choisir un autre namespace, image, imagePullPolicy, et nfd-worker-conf, entre autres options.
En tant qu'administrateur de cluster, vous pouvez créer une instance NodeFeatureDiscovery à l'aide du CLI d'OpenShift Container Platform ou de la console Web.
3.3.1. Créer une instance de NodeFeatureDiscovery à l'aide de l'interface de programmation (CLI)
En tant qu'administrateur de cluster, vous pouvez créer une instance NodeFeatureDiscovery CR à l'aide de la CLI.
Conditions préalables
- Un cluster OpenShift Container Platform
-
Installez le CLI OpenShift (
oc). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin. - Installer l'opérateur NFD.
Procédure
Créez la ressource personnalisée (CR)
NodeFeatureDiscoverysuivante, puis enregistrez le fichier YAML dans le fichierNodeFeatureDiscovery.yaml: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"]
Pour plus de détails sur la manière de personnaliser les travailleurs NFD, reportez-vous à la référence du fichier de configuration de nfd-worker.
Créez l'instance
NodeFeatureDiscoveryCR en exécutant la commande suivante :$ oc create -f NodeFeatureDiscovery.yaml
Vérification
Pour vérifier que l'instance est créée, exécutez :
$ oc get pods
Exemple de sortie
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
Un déploiement réussi affiche un statut
Running.
3.3.2. Créer un CR NodeFeatureDiscovery à l'aide de la console web
Procédure
- Naviguez jusqu'à la page Operators → Installed Operators.
- Trouvez Node Feature Discovery et voyez une boîte sous Provided APIs.
- Cliquez sur Create instance.
-
Modifier les valeurs de
NodeFeatureDiscoveryCR. - Cliquez sur Create.