mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
51 lines
1.6 KiB
Plaintext
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.
|
|
==== |