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

30 views
Skip to first unread message

Eduardo Arango Gutierez

unread,
Sep 7, 2023, 12:54:58 PM9/7/23
to d...@kubernetes.io

Hello,

 

Node Feature Discovery (NFD) v0.14.0 is released. Please see the release page for more information. Issues can be reported here.

What's new NodeFeature API The NodeFeature API is now enabled by default. The new CRD-based API replaces the previous gRPC-based communication between nfd-master and nfd-worker and, reducing networ...


## What's new

### NodeFeature API

The [NodeFeature](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/usage/custom-resources.html#nodefeature) API is now enabled by default. The new CRD-based API replaces the previous gRPC-based communication between nfd-master and nfd-worker and, reducing network traffic and allows changes in NodeFeatureRules to take effect immediately (independent of the sleep-interval of nfd-worker). NodeFeature API can also be used to implement 3rd party extensions, see [customization guide](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/usage/customization-guide#nodefeature-custom-resource) for more details.

Garbage collection of stale NodeFeature objects was added in the form of nfd-gc daemon.

The gRPC API is now deprecated and will be removed in a future release. The related command-line flags are also deprecated (and don't have any effect when NodeFeature API is in use):

 - nfd-master: `-ca-file`, `-cert-file`, `-key-file`, `-port`, `-verify-node-name`
 - nfd-worker: `-ca-file`, `-cert-file`, `-key-file`, `-server`, `-server-name-override`

### Metrics

NFD now provides Prometheus metrics for better observability. Also, the Helm and kustomize deployments support enabling metrics collection with the [Prometheus operator](https://github.com/prometheus-operator/prometheus-operator). See the [documentation](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/deployment/metrics.html) for more information about the available metrics and deployment instructions.

### Hooks disabled by default

The deprecation of nfd-worker [hooks](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/usage/customization-guide.html#hooks) continues, disabling them by default in v0.14. Potential users of hooks are encouraged to switch to use the NFD CRDs ([NodeFeature](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/usage/customization-guide.html#nodefeature-custom-resource) and
configuration option.

### Feature files

**Expiry time:** NFD now supports specifying an expiry time for the features specified in a feature file, providing better lifecycle management for the feature labels. See the [documentation](https://kubernetes-sigs.github.io/node-feature-discovery/master/usage/customization-guide.html#input-format) for more details.

**Size limit:** There is now a 64kB size limit for feature files.

###  Miscellaneous

#### NodeFeatureRule API

Dynamic values for labels is now supported by using the `@` notation, see [documentation](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/usage/customization-guide.html#labels) for more details.

#### NFD-Master

- support for leader election was added, enabling high-availability deployments with multiple-replicas of nfd-master (with the NodeFeature API enabled)
- dynamically configurable logging parameters via the config file
- configurable resync period for the CRD controller
- parallelized node updates, speeding up simultaneous updates of large number of nodes (e.g. update in NodeFeatureRules in a big cluster), can be controlled with the [`-nfd-api-parallelism`](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/reference/master-commandline-reference.html#-nfd-api-parallelism) flag

#### CPU features

Detection of Intel TDX guests is now supported.

#### Logging

The project was migrated structured logging, making log messages more consistent, better machine parseable and enables future improvements in logging.

#### Support policy

The project now officially documented it's supported versions and deprecation policy, see the [documentation](https://kubernetes-sigs.github.io/node-feature-discovery/v0.14/reference/versions.html) for details.

Thanks,

    Eduardo Arango, on behalf of the NFD team


Senior Systems Software Engineer, Kubernetes
SW-CLOUD 
He/Him/His - @CarlosEArango
Reply all
Reply to author
Forward
0 new messages