Feature gates are a set of key-value pairs that control the behavior of NFD. They are used to enable or disable certain features of NFD. The feature gates are set using the -feature-gates
command line flag or featureGates
value in the Helm chart. The following feature gates are available:
Name | Default | Stage | Since | Until |
---|---|---|---|---|
NodeFeatureAPI | true | Beta | V0.14 | v0.16 |
NodeFeatureAPI | true | GA | V0.17 | |
DisableAutoPrefix | false | Alpha | V0.16 | |
NodeFeatureGroupAPI | false | Alpha | V0.16 |
The NodeFeatureAPI
feature gate enables the Node Feature API. When enabled, NFD will register the Node Feature API with the Kubernetes API server. The Node Feature API is used to expose node-specific hardware and software features to the Kubernetes scheduler. The Node Feature API is a beta feature and is enabled by default.
The NodeFeatureGroupAPI
feature gate enables the Node Feature Group API. When enabled, NFD will register the Node Feature Group API with the Kubernetes API server. The Node Feature Group API is used to create node groups based on hardware and software features. The Node Feature Group API is an alpha feature and is disabled by default.
The DisableAutoPrefix
feature gate controls the automatic prefixing of names. When enabled nfd-master does not automatically add the default feature.node.kubernetes.io/
prefix to unprefixed labels, annotations and extended resources. Automatic prefixing is the default behavior in NFD v0.16 and earlier.
Note that enabling the feature gate effectively causes unprefixed names to be filtered out as NFD does not allow unprefixed names of labels, annotations or extended resources. For example, with the DisableAutoPrefix
feature gate set to false
, a NodeFeatureRule with
labels:
foo: bar
will turn into feature.node.kubernetes.io/foo=bar
node label. With DisableAutoPrefix
set to true
, no prefix is added and the label will be filtered out.
Note that taint keys are not affected by this feature gate.