[ANNOUNCE] node-feature-discovery v0.10.0 is released

Skip to first unread message

Lehtonen, Markus

Jan 11, 2022, 2:17:18 PMJan 11
to d...@kubernetes.io



I'm proud to announce that Node Feature Discovery (NFD) v0.10.0 is released. Please see the release page for more information. Issues can be reported here.


What's new


Expression-based custom label rules

We implemented new expression-based format for writing labeling rules, greatly expanding the capabilities for vendor and application specific labeling. It covers much more features than the built-in labels reveal, supports tempating and more. See new customization guide for more details.


NodeFeatureRule custom resource

We introduce new NodeFeatureRule custom resource, enabling the deployment vendor and application specific labeling rules as Kubernetes API objects. See customization guide for details.


Detection of network, storage and nvdimm devices

NFD now discovers network, block storage and nvdimm devices. No new built-in labels are introduced but the device information is available for custom label rules to use. See available features for details.


Topology-updater daemon

NFD-Topology-Updater is a new daemon that advertises topology of available and allocatable system resources via NodeResourceTopology custom resources. See the documentation for more details.


New profile label namespace

NFD now by default allows a new profile.node.kubernetes.io label namespace (and it's sub-namespaces). This can be used in custom labels and is intended for vendor or application specific higher level "meta features".


Label names from the local source changed

NFD stopped injecting the filename of the hook/featurefile into the name of the label.


NOTE: This breaks backwards compatibility with usage scenarios that rely on implicitly prefixing the label with the filename. However, we felt that the somewhat confusing and counter-intuitive behavior needs to be changed. The suggested way to fix existing use cases is to user fully namespaced <namespace>/<name>=<value> format (this will retain compatibility with older versions of NFD).


TLS and cert-manager integration in Helm chart

NFD Helm chart now supports enabling TLS and cert-manager via the tls.enable and tls.certManager options. See the documentation for details.


IOMMU source deprecated

The IOMMU source has been deprecated and is now disabled by default. Thus, it's only feature label feature.node.kubernetes.io/iommu-enabled is not available in the default configuration. To enable it, set the core.labelSources option to the value [all, iommu] in the nfd-worker configuration. See worker configuration for more details on configuring nfd-worker.


NOTE: the iommu_group/type is now available as per PCI device attribute to be used for custom label rules. See the customization guide for details on using custom label rules.



  • /usr/src is not mounted by default, anymore (#585)
  • simplify nfd-worker configuration in Helm (#627)
  • detect Intel SGX (#647)
  • add additional IBM Z CPUID flags (#675)
  • nfd-worker config
    • add core.labelSources config option, deprecating core.sources (#673)
    • add core.featureSources config option (#605)
    • disable sources by prefixing with dash ('-') (#670)
  • fix kustomize sample overlay enabling cert-manager (#710)




    Markus Lehtonen, on behalf of the NFD team

Reply all
Reply to author
0 new messages