1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/nfd-rules-using.adoc
2024-01-04 09:22:09 -05:00

51 lines
1.6 KiB
Plaintext

// Module included in the following assemblies:
//
// * hardware_enablement/psap-node-feature-discovery-operator.adoc
:_mod-docs-content-type: PROCEDURE
[id="nfd-rules-using_{context}"]
= Using the NodeFeatureRule custom resource
Create a `NodeFeatureRule` object to label nodes if a set of rules match the conditions.
.Procedure
. Create a custom resource file named `nodefeaturerule.yaml` that contains the following text:
+
[source,yaml]
----
apiVersion: nfd.openshift.io/v1
kind: NodeFeatureRule
metadata:
name: example-rule
spec:
rules:
- name: "example rule"
labels:
"example-custom-feature": "true"
# Label is created if all of the rules below match
matchFeatures:
# Match if "veth" kernel module is loaded
- feature: kernel.loadedmodule
matchExpressions:
veth: {op: Exists}
# Match if any PCI device with vendor 8086 exists in the system
- feature: pci.device
matchExpressions:
vendor: {op: In, value: ["8086"]}
----
+
This custom resource specifies that labelling occurs when the `veth` module is loaded and any PCI device with vendor code `8086` exists in the cluster.
. Apply the `nodefeaturerule.yaml` file to your cluster by running the following command:
+
[source,terminal]
----
$ oc apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/v0.13.6/examples/nodefeaturerule.yaml
----
The example applies the feature label on nodes with the `veth` module loaded and any PCI device with vendor code `8086` exists.
+
[NOTE]
====
A relabeling delay of up to 1 minute might occur.
====