404
Not Found
diff --git a/v0.12/404.html b/v0.12/404.html index f892608c7..dee2ed2a3 100644 --- a/v0.12/404.html +++ b/v0.12/404.html @@ -1 +1 @@ -
Not Found
Not Found
You can reach us via the following channels:
This is a SIG-node subproject, hosted under the Kubernetes SIGs organization in Github. The project was established in 2016 and was migrated to Kubernetes SIGs in 2018.
This is open source software released under the Apache 2.0 License.
You can reach us via the following channels:
This is a SIG-node subproject, hosted under the Kubernetes SIGs organization in Github. The project was established in 2016 and was migrated to Kubernetes SIGs in 2018.
This is open source software released under the Apache 2.0 License.
Node Feature Discovery Helm chart allow to easily deploy and manage NFD.
NOTE: NFD is not ideal for other Helm charts to depend on as that may result in multiple parallel NFD deployments in the same cluster which is not fully supported by the NFD Helm chart.
Helm package manager should be installed.
To install the latest stable version:
export NFD_NS=node-feature-discovery
+ Helm · Node Feature Discovery
Deployment with Helm
Table of contents
Node Feature Discovery Helm chart allow to easily deploy and manage NFD.
NOTE: NFD is not ideal for other Helm charts to depend on as that may result in multiple parallel NFD deployments in the same cluster which is not fully supported by the NFD Helm chart.
Prerequisites
Helm package manager should be installed.
Deployment
To install the latest stable version:
export NFD_NS=node-feature-discovery
helm repo add nfd https://kubernetes-sigs.github.io/node-feature-discovery/charts
helm repo update
helm install nfd/node-feature-discovery --namespace $NFD_NS --create-namespace --generate-name
diff --git a/v0.12/deployment/image-variants.html b/v0.12/deployment/image-variants.html
index 1e8abbadb..3040ac4db 100644
--- a/v0.12/deployment/image-variants.html
+++ b/v0.12/deployment/image-variants.html
@@ -1 +1 @@
- Image variants · Node Feature Discovery
Image variants
Table of contents
NFD currently offers two variants of the container image. The "full" variant is currently deployed by default. Released container images are available for x86_64 and Arm64 architectures.
Full
This image is based on debian:bullseye-slim and contains a full Linux system for running shell-based nfd-worker hooks and doing live debugging and diagnosis of the NFD images.
Minimal
This is a minimal image based on gcr.io/distroless/base and only supports running statically linked binaries.
The container image tag has suffix -minimal
(e.g. registry.k8s.io/nfd/node-feature-discovery:v0.12.3-minimal
)
Node Feature Discovery v0.12
\ No newline at end of file
+ Image variants · Node Feature Discovery
Image variants
Table of contents
NFD currently offers two variants of the container image. The "full" variant is currently deployed by default. Released container images are available for x86_64 and Arm64 architectures.
Full
This image is based on debian:bullseye-slim and contains a full Linux system for running shell-based nfd-worker hooks and doing live debugging and diagnosis of the NFD images.
Minimal
This is a minimal image based on gcr.io/distroless/base and only supports running statically linked binaries.
The container image tag has suffix -minimal
(e.g. registry.k8s.io/nfd/node-feature-discovery:v0.12.3-minimal
)
Node Feature Discovery v0.12
\ No newline at end of file
diff --git a/v0.12/deployment/index.html b/v0.12/deployment/index.html
index 8114352cd..4a20ccb43 100644
--- a/v0.12/deployment/index.html
+++ b/v0.12/deployment/index.html
@@ -1 +1 @@
- Deployment · Node Feature Discovery
Deployment
See Image variants for description of the different NFD container images available.
Using Kustomize provides straightforward deployment with kubectl
integration and declarative customization.
Using Helm provides easy management of NFD deployments with nice configuration management and easy upgrades.
Using Operator provides deployment and configuration management via CRDs.
Node Feature Discovery v0.12
\ No newline at end of file
+ Deployment · Node Feature Discovery
Deployment
See Image variants for description of the different NFD container images available.
Using Kustomize provides straightforward deployment with kubectl
integration and declarative customization.
Using Helm provides easy management of NFD deployments with nice configuration management and easy upgrades.
Using Operator provides deployment and configuration management via CRDs.
Node Feature Discovery v0.12
\ No newline at end of file
diff --git a/v0.12/deployment/kustomize.html b/v0.12/deployment/kustomize.html
index 650acbe6a..723348322 100644
--- a/v0.12/deployment/kustomize.html
+++ b/v0.12/deployment/kustomize.html
@@ -1,4 +1,4 @@
- Kustomize · Node Feature Discovery
Deploymenet with Kustomize
Table of contents
Kustomize provides easy deployment of NFD. Customization of the deployment is done by maintaining declarative overlays on top of the base overlays in NFD.
To follow the deployment instructions here, kubectl v1.21 or later is required.
The kustomize overlays provided in the repo can be used directly:
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
+ Kustomize · Node Feature Discovery
Deploymenet with Kustomize
Table of contents
Kustomize provides easy deployment of NFD. Customization of the deployment is done by maintaining declarative overlays on top of the base overlays in NFD.
To follow the deployment instructions here, kubectl v1.21 or later is required.
The kustomize overlays provided in the repo can be used directly:
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
This will required RBAC rules and deploy nfd-master (as a deployment) and nfd-worker (as daemonset) in the node-feature-discovery
namespace.
NOTE: nfd-topology-updater is not deployed as part of the default
overlay. Please refer to the Master Worker Topologyupdater and Topologyupdater below.
Alternatively you can clone the repository and customize the deployment by creating your own overlays. For example, to deploy the minimal image. See kustomize for more information about managing deployment configurations.
Overlays
The NFD repository hosts a set of overlays for different usages and deployment scenarios under deployment/overlays
default
: default deployment of nfd-worker as a daemonset, described above default-combined
see Master-worker pod below default-job
: see Worker one-shot below master-worker-topologyupdater
: see Master Worker Topologyupdater below topologyupdater
: see Topology Updater below prune
: clean up the cluster after uninstallation, see Removing feature labels samples/cert-manager
: an example for supplementing the default deployment with cert-manager for TLS authentication, see Automated TLS certificate management using cert-manager for details samples/custom-rules
: an example for spicing up the default deployment with a separately managed configmap of custom labeling rules, see Custom feature source for more information about custom node labels
Master-worker pod
You can also run nfd-master and nfd-worker inside the same pod
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default-combined?ref=v0.12.3
This creates a DaemonSet that runs nfd-worker and nfd-master in the same Pod. In this case no nfd-master is run on the master node(s), but, the worker nodes are able to label themselves which may be desirable e.g. in single-node setups.
NOTE: nfd-topology-updater is not deployed by the default-combined overlay. To enable nfd-topology-updater in this scenario,the users must customize the deployment themselves.
Worker one-shot
Feature discovery can alternatively be configured as a one-shot job. The default-job
overlay may be used to achieve this:
NUM_NODES=$(kubectl get no -o jsonpath='{.items[*].metadata.name}' | wc -w)
diff --git a/v0.12/deployment/operator.html b/v0.12/deployment/operator.html
index 7c5398ff8..657dae909 100644
--- a/v0.12/deployment/operator.html
+++ b/v0.12/deployment/operator.html
@@ -1,4 +1,4 @@
- NFD Operator · Node Feature Discovery
Deployment with NFD Operator
Table of contents
The Node Feature Discovery Operator automates installation, configuration and updates of NFD using a specific NodeFeatureDiscovery custom resource. This also provides good support for managing NFD as a dependency of other operators.
Deployment
Deployment using the Node Feature Discovery Operator is recommended to be done via operatorhub.io.
- You need to have OLM installed. If you don't, take a look at the latest release for detailed instructions.
-
Install the operator:
kubectl create -f https://operatorhub.io/install/nfd-operator.yaml
+ NFD Operator · Node Feature Discovery
Deployment with NFD Operator
Table of contents
The Node Feature Discovery Operator automates installation, configuration and updates of NFD using a specific NodeFeatureDiscovery custom resource. This also provides good support for managing NFD as a dependency of other operators.
Deployment
Deployment using the Node Feature Discovery Operator is recommended to be done via operatorhub.io.
- You need to have OLM installed. If you don't, take a look at the latest release for detailed instructions.
-
Install the operator:
kubectl create -f https://operatorhub.io/install/nfd-operator.yaml
-
Create NodeFeatureDiscovery
object (in nfd
namespace here):
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
diff --git a/v0.12/deployment/tls.html b/v0.12/deployment/tls.html
index 5e7e4d380..fce7a3657 100644
--- a/v0.12/deployment/tls.html
+++ b/v0.12/deployment/tls.html
@@ -1,4 +1,4 @@
- TLS authentication · Node Feature Discovery
Communication security with TLS
Table of contents
NFD supports mutual TLS authentication between the nfd-master and nfd-worker instances. That is, nfd-worker and nfd-master both verify that the other end presents a valid certificate.
TLS authentication is enabled by specifying -ca-file
, -key-file
and -cert-file
args, on both the nfd-master and nfd-worker instances. The template specs provided with NFD contain (commented out) example configuration for enabling TLS authentication.
The Common Name (CN) of the nfd-master certificate must match the DNS name of the nfd-master Service of the cluster. By default, nfd-master only check that the nfd-worker has been signed by the specified root certificate (-ca-file).
Additional hardening can be enabled by specifying -verify-node-name
in nfd-master args, in which case nfd-master verifies that the NodeName presented by nfd-worker matches the Common Name (CN) or a Subject Alternative Name (SAN) of its certificate. Note that -verify-node-name
complicates certificate management and is not yet supported in the helm or kustomize deployment methods.
Automated TLS certificate management using cert-manager
cert-manager can be used to automate certificate management between nfd-master and the nfd-worker pods.
The NFD source code repository contains an example kustomize overlay and helm chart that can be used to deploy NFD with cert-manager supplied certificates enabled.
To install cert-manager
itself can be done as easily as this, below, or you can refer to their documentation for other installation methods such as the helm chart they provide.
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
+ TLS authentication · Node Feature Discovery
Communication security with TLS
Table of contents
NFD supports mutual TLS authentication between the nfd-master and nfd-worker instances. That is, nfd-worker and nfd-master both verify that the other end presents a valid certificate.
TLS authentication is enabled by specifying -ca-file
, -key-file
and -cert-file
args, on both the nfd-master and nfd-worker instances. The template specs provided with NFD contain (commented out) example configuration for enabling TLS authentication.
The Common Name (CN) of the nfd-master certificate must match the DNS name of the nfd-master Service of the cluster. By default, nfd-master only check that the nfd-worker has been signed by the specified root certificate (-ca-file).
Additional hardening can be enabled by specifying -verify-node-name
in nfd-master args, in which case nfd-master verifies that the NodeName presented by nfd-worker matches the Common Name (CN) or a Subject Alternative Name (SAN) of its certificate. Note that -verify-node-name
complicates certificate management and is not yet supported in the helm or kustomize deployment methods.
Automated TLS certificate management using cert-manager
cert-manager can be used to automate certificate management between nfd-master and the nfd-worker pods.
The NFD source code repository contains an example kustomize overlay and helm chart that can be used to deploy NFD with cert-manager supplied certificates enabled.
To install cert-manager
itself can be done as easily as this, below, or you can refer to their documentation for other installation methods such as the helm chart they provide.
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
To use the kustomize overlay to install node-feature-discovery with TLS enabled, you may use the following:
kubectl apply -k deployment/overlays/samples/cert-manager
To make use of the helm chart, override values.yaml
to enable both the tls.enabled
and tls.certManager
options. Note that if you do not enable tls.certManager
, helm will successfully install the application, but deployment will wait until certificates are manually created, as demonstrated below.
See the sample installation commands in the Helm Deployment and Configuration sections above for how to either override individual values, or provide a yaml file with which to override default values.
Manual TLS certificate management
If you do not with to make use of cert-manager, the certificates can be manually created and stored as secrets within the NFD namespace.
Create a CA certificate
openssl req -x509 -newkey rsa:4096 -keyout ca.key -nodes \
-subj "/CN=nfd-ca" -days 10000 -out ca.crt
diff --git a/v0.12/deployment/uninstallation.html b/v0.12/deployment/uninstallation.html
index 1056aeb5f..987c9b264 100644
--- a/v0.12/deployment/uninstallation.html
+++ b/v0.12/deployment/uninstallation.html
@@ -1,4 +1,4 @@
- Uninstallation · Node Feature Discovery
Uninstallation
Table of contents
Follow the uninstallation instructions of the deployment method used (kustomize, helm or operator).
Removing feature labels
NFD-Master has a special -prune
command line flag for removing all nfd-related node labels, annotations and extended resources from the cluster.
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/prune?ref=v0.12.3
+ Uninstallation · Node Feature Discovery
Uninstallation
Table of contents
Follow the uninstallation instructions of the deployment method used (kustomize, helm or operator).
Removing feature labels
NFD-Master has a special -prune
command line flag for removing all nfd-related node labels, annotations and extended resources from the cluster.
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/prune?ref=v0.12.3
kubectl -n node-feature-discovery wait job.batch/nfd-master --for=condition=complete && \
kubectl delete -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/prune?ref=v0.12.3
NOTE: You must run prune before removing the RBAC rules (serviceaccount, clusterrole and clusterrolebinding).
Node Feature Discovery v0.12
\ No newline at end of file
diff --git a/v0.12/developer-guide/index.html b/v0.12/developer-guide/index.html
index 36855565f..0cc9dd84a 100644
--- a/v0.12/developer-guide/index.html
+++ b/v0.12/developer-guide/index.html
@@ -1,4 +1,4 @@
- Developer guide · Node Feature Discovery
Developer guide
Table of contents
Building from source
Download the source code
git clone https://github.com/kubernetes-sigs/node-feature-discovery
+ Developer guide · Node Feature Discovery
Developer guide
Table of contents
Building from source
Download the source code
git clone https://github.com/kubernetes-sigs/node-feature-discovery
cd node-feature-discovery
Docker build
Build the container image
See customizing the build below for altering the container image registry, for example.
make
Push the container image
Optional, this example with Docker.
docker push <IMAGE_TAG>
diff --git a/v0.12/get-started/index.html b/v0.12/get-started/index.html
index b0e33258e..b92ab7fc4 100644
--- a/v0.12/get-started/index.html
+++ b/v0.12/get-started/index.html
@@ -1,4 +1,4 @@
- Get started · Node Feature Discovery
Node Feature Discovery
Welcome to Node Feature Discovery – a Kubernetes add-on for detecting hardware features and system configuration!
Continue to:
-
Introduction for more details on the project.
-
Quick start for quick step-by-step instructions on how to get NFD running on your cluster.
Quick-start – the short-short version
$ kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
+ Get started · Node Feature Discovery
Node Feature Discovery
Welcome to Node Feature Discovery – a Kubernetes add-on for detecting hardware features and system configuration!
Continue to:
-
Introduction for more details on the project.
-
Quick start for quick step-by-step instructions on how to get NFD running on your cluster.
Quick-start – the short-short version
$ kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
namespace/node-feature-discovery created
serviceaccount/nfd-master created
clusterrole.rbac.authorization.k8s.io/nfd-master created
diff --git a/v0.12/get-started/introduction.html b/v0.12/get-started/introduction.html
index e596769f3..319862970 100644
--- a/v0.12/get-started/introduction.html
+++ b/v0.12/get-started/introduction.html
@@ -1,4 +1,4 @@
- Introduction · Node Feature Discovery
Introduction
Table of contents
This software enables node feature discovery for Kubernetes. It detects hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels.
NFD consists of three software components:
- nfd-master
- nfd-worker
- nfd-topology-updater
NFD-Master
NFD-Master is the daemon responsible for communication towards the Kubernetes API. That is, it receives labeling requests from the worker and modifies node objects accordingly.
NFD-Worker
NFD-Worker is a daemon responsible for feature detection. It then communicates the information to nfd-master which does the actual node labeling. One instance of nfd-worker is supposed to be running on each node of the cluster,
NFD-Topology-Updater
NFD-Topology-Updater is a daemon responsible for examining allocated resources on a worker node to account for resources available to be allocated to new pod on a per-zone basis (where a zone can be a NUMA node). It then creates or updates a NodeResourceTopology custom resource object specific to this node. One instance of nfd-topology-updater is supposed to be running on each node of the cluster.
Feature Discovery
Feature discovery is divided into domain-specific feature sources:
- CPU
- Kernel
- Memory
- Network
- PCI
- Storage
- System
- USB
- Custom (rule-based custom features)
- Local (hooks for user-specific features)
Each feature source is responsible for detecting a set of features which. in turn, are turned into node feature labels. Feature labels are prefixed with feature.node.kubernetes.io/
and also contain the name of the feature source. Non-standard user-specific feature labels can be created with the local and custom feature sources.
An overview of the default feature labels:
{
+ Introduction · Node Feature Discovery
Introduction
Table of contents
This software enables node feature discovery for Kubernetes. It detects hardware features available on each node in a Kubernetes cluster, and advertises those features using node labels.
NFD consists of three software components:
- nfd-master
- nfd-worker
- nfd-topology-updater
NFD-Master
NFD-Master is the daemon responsible for communication towards the Kubernetes API. That is, it receives labeling requests from the worker and modifies node objects accordingly.
NFD-Worker
NFD-Worker is a daemon responsible for feature detection. It then communicates the information to nfd-master which does the actual node labeling. One instance of nfd-worker is supposed to be running on each node of the cluster,
NFD-Topology-Updater
NFD-Topology-Updater is a daemon responsible for examining allocated resources on a worker node to account for resources available to be allocated to new pod on a per-zone basis (where a zone can be a NUMA node). It then creates or updates a NodeResourceTopology custom resource object specific to this node. One instance of nfd-topology-updater is supposed to be running on each node of the cluster.
Feature Discovery
Feature discovery is divided into domain-specific feature sources:
- CPU
- Kernel
- Memory
- Network
- PCI
- Storage
- System
- USB
- Custom (rule-based custom features)
- Local (hooks for user-specific features)
Each feature source is responsible for detecting a set of features which. in turn, are turned into node feature labels. Feature labels are prefixed with feature.node.kubernetes.io/
and also contain the name of the feature source. Non-standard user-specific feature labels can be created with the local and custom feature sources.
An overview of the default feature labels:
{
"feature.node.kubernetes.io/cpu-<feature-name>": "true",
"feature.node.kubernetes.io/custom-<feature-name>": "true",
"feature.node.kubernetes.io/kernel-<feature name>": "<feature value>",
diff --git a/v0.12/get-started/quick-start.html b/v0.12/get-started/quick-start.html
index a6c9024b0..e09f6ced4 100644
--- a/v0.12/get-started/quick-start.html
+++ b/v0.12/get-started/quick-start.html
@@ -1,4 +1,4 @@
- Quick start · Node Feature Discovery
Quick start
Minimal steps to deploy latest released version of NFD in your cluster.
Installation
Deploy with kustomize – creates a new namespace, service and required RBAC rules and deploys nfd-master and nfd-worker daemons.
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
+ Quick start · Node Feature Discovery
Quick start
Minimal steps to deploy latest released version of NFD in your cluster.
Installation
Deploy with kustomize – creates a new namespace, service and required RBAC rules and deploys nfd-master and nfd-worker daemons.
kubectl apply -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.12.3
Verify
Wait until NFD master and NFD worker are running.
$ kubectl -n node-feature-discovery get ds,deploy
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/nfd-worker 2 2 2 2 2 <none> 10s
diff --git a/v0.12/reference/index.html b/v0.12/reference/index.html
index 27b432d07..c37bb36a4 100644
--- a/v0.12/reference/index.html
+++ b/v0.12/reference/index.html
@@ -1 +1 @@
- Reference · Node Feature Discovery
Reference
Command line and configuration reference.
Node Feature Discovery v0.12
\ No newline at end of file
+ Reference · Node Feature Discovery
Reference
Command line and configuration reference.
Node Feature Discovery v0.12
\ No newline at end of file
diff --git a/v0.12/reference/master-commandline-reference.html b/v0.12/reference/master-commandline-reference.html
index e0c74742e..c9a7f36c0 100644
--- a/v0.12/reference/master-commandline-reference.html
+++ b/v0.12/reference/master-commandline-reference.html
@@ -1,4 +1,4 @@
- Master cmdline reference · Node Feature Discovery
Commandline flags of nfd-master
Table of contents
- -h, -help
- -version
- -prune
- -port
- -instance
- -ca-file
- -cert-file
- -key-file
- -verify-node-name
- -enable-nodefeature-api
- -enable-taints
- -no-publish
- -crd-controller
- -featurerules-controller
- -label-whitelist
- -extra-label-ns
- -resource-labels
- Logging
To quickly view available command line flags execute nfd-master -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 nfd-master -help
+ Master cmdline reference · Node Feature Discovery
Commandline flags of nfd-master
Table of contents
- -h, -help
- -version
- -prune
- -port
- -instance
- -ca-file
- -cert-file
- -key-file
- -verify-node-name
- -enable-nodefeature-api
- -enable-taints
- -no-publish
- -crd-controller
- -featurerules-controller
- -label-whitelist
- -extra-label-ns
- -resource-labels
- Logging
To quickly view available command line flags execute nfd-master -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 nfd-master -help
-h, -help
Print usage and exit.
-version
Print version and exit.
-prune
The -prune
flag is a sub-command like option for cleaning up the cluster. It causes nfd-master to remove all NFD related labels, annotations and extended resources from all Node objects of the cluster and exit.
-port
The -port
flag specifies the TCP port that nfd-master listens for incoming requests.
Default: 8080
Example:
nfd-master -port=443
-instance
The -instance
flag makes it possible to run multiple NFD deployments in parallel. In practice, it separates the node annotations between deployments so that each of them can store metadata independently. The instance name must start and end with an alphanumeric character and may only contain alphanumeric characters, -
, _
or .
.
Default: empty
Example:
nfd-master -instance=network
-ca-file
The -ca-file
is one of the three flags (together with -cert-file
and -key-file
) controlling master-worker mutual TLS authentication on the nfd-master side. This flag specifies the TLS root certificate that is used for authenticating incoming connections. NFD-Worker side needs to have matching key and cert files configured in order for the incoming requests to be accepted.
Default: empty
Note: Must be specified together with -cert-file
and -key-file
Example:
nfd-master -ca-file=/opt/nfd/ca.crt -cert-file=/opt/nfd/master.crt -key-file=/opt/nfd/master.key
diff --git a/v0.12/reference/topology-updater-commandline-reference.html b/v0.12/reference/topology-updater-commandline-reference.html
index af9e95da0..f29c89055 100644
--- a/v0.12/reference/topology-updater-commandline-reference.html
+++ b/v0.12/reference/topology-updater-commandline-reference.html
@@ -1,4 +1,4 @@
- Topology Updater Cmdline Reference · Node Feature Discovery
NFD-Topology-Updater Commandline Flags
Table of Contents
To quickly view available command line flags execute nfd-topology-updater -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 \
+ Topology Updater Cmdline Reference · Node Feature Discovery
NFD-Topology-Updater Commandline Flags
Table of Contents
To quickly view available command line flags execute nfd-topology-updater -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 \
nfd-topology-updater -help
-h, -help
Print usage and exit.
-version
Print version and exit.
-config
The -config
flag specifies the path of the nfd-topology-updater configuration file to use.
Default: /etc/kubernetes/node-feature-discovery/nfd-topology-updater.conf
Example:
nfd-topology-updater -config=/opt/nfd/nfd-topology-updater.conf
-no-publish
The -no-publish
flag disables all communication with the nfd-master, making it a "dry-run" flag for nfd-topology-updater. NFD-Topology-Updater runs resource hardware topology detection normally, but no CR requests are sent to nfd-master.
Default: false
Example:
nfd-topology-updater -no-publish
diff --git a/v0.12/reference/topology-updater-configuration-reference.html b/v0.12/reference/topology-updater-configuration-reference.html
index 6855739ba..bad586535 100644
--- a/v0.12/reference/topology-updater-configuration-reference.html
+++ b/v0.12/reference/topology-updater-configuration-reference.html
@@ -1,4 +1,4 @@
- Topology-Updater config reference · Node Feature Discovery
Configuration file reference of nfd-topology-updater
Table of contents
See the sample configuration file for a full example configuration.
excludeList
The excludeList
specifies a key-value map of allocated resources that should not be examined by the topology-updater agent per node. Each key is a node name with a value as a list of resources that should not be examined by the agent for that specific node.
Default: empty
Example:
excludeList:
+ Topology-Updater config reference · Node Feature Discovery
Configuration file reference of nfd-topology-updater
Table of contents
See the sample configuration file for a full example configuration.
excludeList
The excludeList
specifies a key-value map of allocated resources that should not be examined by the topology-updater agent per node. Each key is a node name with a value as a list of resources that should not be examined by the agent for that specific node.
Default: empty
Example:
excludeList:
nodeA: [hugepages-2Mi]
nodeB: [memory]
nodeC: [cpu, hugepages-2Mi]
diff --git a/v0.12/reference/worker-commandline-reference.html b/v0.12/reference/worker-commandline-reference.html
index 81a836b90..03dd693a0 100644
--- a/v0.12/reference/worker-commandline-reference.html
+++ b/v0.12/reference/worker-commandline-reference.html
@@ -1,4 +1,4 @@
- Worker cmdline reference · Node Feature Discovery
Commandline flags of nfd-worker
Table of contents
- -h, -help
- -version
- -config
- -options
- -server
- -ca-file
- -cert-file
- -key-file
- -kubeconfig
- -server-name-override
- -feature-sources
- -label-sources
- -enable-nodefeature-api
- -no-publish
- -oneshot
- Logging
To quickly view available command line flags execute nfd-worker -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 nfd-worker -help
+ Worker cmdline reference · Node Feature Discovery
Commandline flags of nfd-worker
Table of contents
- -h, -help
- -version
- -config
- -options
- -server
- -ca-file
- -cert-file
- -key-file
- -kubeconfig
- -server-name-override
- -feature-sources
- -label-sources
- -enable-nodefeature-api
- -no-publish
- -oneshot
- Logging
To quickly view available command line flags execute nfd-worker -help
. In a docker container:
docker run registry.k8s.io/nfd/node-feature-discovery:v0.12.3 nfd-worker -help
-h, -help
Print usage and exit.
-version
Print version and exit.
-config
The -config
flag specifies the path of the nfd-worker configuration file to use.
Default: /etc/kubernetes/node-feature-discovery/nfd-worker.conf
Example:
nfd-worker -config=/opt/nfd/worker.conf
-options
The -options
flag may be used to specify and override configuration file options directly from the command line. The required format is the same as in the config file i.e. JSON or YAML. Configuration options specified via this flag will override those from the configuration file:
Default: empty
Example:
nfd-worker -options='{"sources":{"cpu":{"cpuid":{"attributeWhitelist":["AVX","AVX2"]}}}}'
-server
The -server
flag specifies the address of the nfd-master endpoint where to connect to.
Default: localhost:8080
Example:
nfd-worker -server=nfd-master.nfd.svc.cluster.local:443
diff --git a/v0.12/reference/worker-configuration-reference.html b/v0.12/reference/worker-configuration-reference.html
index 2333091f4..447af7763 100644
--- a/v0.12/reference/worker-configuration-reference.html
+++ b/v0.12/reference/worker-configuration-reference.html
@@ -1,4 +1,4 @@
- Worker config reference · Node Feature Discovery
Configuration file reference of nfd-worker
Table of contents
See the sample configuration file for a full example configuration.
core
The core
section contains common configuration settings that are not specific to any particular feature source.
core.sleepInterval
core.sleepInterval
specifies the interval between consecutive passes of feature (re-)detection, and thus also the interval between node re-labeling. A non-positive value implies infinite sleep interval, i.e. no re-detection or re-labeling is done.
Default: 60s
Example:
core:
+ Worker config reference · Node Feature Discovery
Configuration file reference of nfd-worker
Table of contents
See the sample configuration file for a full example configuration.
core
The core
section contains common configuration settings that are not specific to any particular feature source.
core.sleepInterval
core.sleepInterval
specifies the interval between consecutive passes of feature (re-)detection, and thus also the interval between node re-labeling. A non-positive value implies infinite sleep interval, i.e. no re-detection or re-labeling is done.
Default: 60s
Example:
core:
sleepInterval: 60s
core.featureSources
core.featureSources
specifies the list of enabled feature sources. A special value all
enables all sources. Prefixing a source name with -
indicates that the source will be disabled instead - this is only meaningful when used in conjunction with all
. This option allows completely disabling the feature detection so that neither standard feature labels are generated nor the raw feature data is available for custom rule processing.
Default: [all]
Example:
core:
# Enable all but cpu and local sources
diff --git a/v0.12/search.html b/v0.12/search.html
index 47ad110de..6e11eb758 100644
--- a/v0.12/search.html
+++ b/v0.12/search.html
@@ -1 +1 @@
- Search · Node Feature Discovery
Searching
Node Feature Discovery v0.12
\ No newline at end of file
+ Search · Node Feature Discovery
Searching
Node Feature Discovery v0.12
\ No newline at end of file
diff --git a/v0.12/sitemap.xml b/v0.12/sitemap.xml
index 0d9c31e6a..fc75a8cf7 100644
--- a/v0.12/sitemap.xml
+++ b/v0.12/sitemap.xml
@@ -1 +1 @@
- https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/features.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/ 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/image-variants.html 0.6 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/master-commandline-reference.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/introduction.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/kustomize.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/worker-commandline-reference.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/quick-start.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/ 0.3 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/using-labels.html 0.8 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-master.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/worker-configuration-reference.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/ 0.1 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/helm.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/topology-updater-commandline-reference.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-worker.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/operator.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/ 0.1 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/tls.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-topology-updater.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/topology-updater-configuration-reference.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/developer-guide/ 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/contributing/ 0.5 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/uninstallation.html 0.9 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/custom-resources.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/customization-guide.html 1.0 2023-04-17T11:22:10-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/examples-and-demos.html 0.5 2023-04-17T11:22:10-05:00
\ No newline at end of file
+ https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/features.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/ 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/image-variants.html 0.6 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/master-commandline-reference.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/introduction.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/kustomize.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/worker-commandline-reference.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/get-started/quick-start.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/ 0.3 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/using-labels.html 0.8 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-master.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/worker-configuration-reference.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/ 0.1 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/helm.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/topology-updater-commandline-reference.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-worker.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/operator.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/ 0.1 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/tls.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/nfd-topology-updater.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/reference/topology-updater-configuration-reference.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/developer-guide/ 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/contributing/ 0.5 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/deployment/uninstallation.html 0.9 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/custom-resources.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/customization-guide.html 1.0 2023-04-17T12:20:07-05:00 https://kubernetes-sigs.github.com/node-feature-discovery/v0.12/usage/examples-and-demos.html 0.5 2023-04-17T12:20:07-05:00
\ No newline at end of file
diff --git a/v0.12/usage/custom-resources.html b/v0.12/usage/custom-resources.html
index cef9fda58..1aea591ff 100644
--- a/v0.12/usage/custom-resources.html
+++ b/v0.12/usage/custom-resources.html
@@ -1,4 +1,4 @@
- CRDs · Node Feature Discovery
Custom Resources
Table of contents
NFD uses some Kubernetes custom resources.
NodeFeature
EXPERIMENTAL NodeFeature is an NFD-specific custom resource for communicating node features and node labeling requests. Support for NodeFeature objects is disabled by default. If enabled, nfd-master watches for NodeFeature objects, labels nodes as specified and uses the listed features as input when evaluating NodeFeatureRules. NodeFeature objects can be used for implementing 3rd party extensions (see customization guide for more details).
apiVersion: nfd.k8s-sigs.io/v1alpha1
+ CRDs · Node Feature Discovery
Custom Resources
Table of contents
NFD uses some Kubernetes custom resources.
NodeFeature
EXPERIMENTAL NodeFeature is an NFD-specific custom resource for communicating node features and node labeling requests. Support for NodeFeature objects is disabled by default. If enabled, nfd-master watches for NodeFeature objects, labels nodes as specified and uses the listed features as input when evaluating NodeFeatureRules. NodeFeature objects can be used for implementing 3rd party extensions (see customization guide for more details).
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeature
metadata:
labels:
diff --git a/v0.12/usage/customization-guide.html b/v0.12/usage/customization-guide.html
index cbbc0be97..450a2757c 100644
--- a/v0.12/usage/customization-guide.html
+++ b/v0.12/usage/customization-guide.html
@@ -1,4 +1,4 @@
- Customization guide · Node Feature Discovery
Customization guide
Table of contents
- Overview
- NodeFeature custom resource
- NodeFeatureRule custom resource
- Local feature source
- Custom feature source
- Node labels
- Label rule format
- Legacy custom rule syntax
Overview
NFD provides multiple extension points for vendor and application specific labeling:
NodeFeature
(EXPERIMENTAL) objects can be used to communicate "raw" node features and node labeling requests to nfd-master. NodeFeatureRule
objects provide a way to deploy custom labeling rules via the Kubernetes API local
feature source of nfd-worker creates labels by executing hooks and reading files custom
feature source of nfd-worker creates labels based on user-specified rules
NodeFeature custom resource
EXPERIMENTAL NodeFeature objects provide a way for 3rd party extensions to advertise custom features, both as "raw" features that serve as input to NodeFeatureRule objects and as feature labels directly.
Note that RBAC rules must be created for each extension for them to be able to create and manipulate NodeFeature objects in their namespace.
Support for NodeFeature CRD API is enabled with the -enable-nodefeature-api
command line flag. This flag must be specified for both nfd-master and nfd-worker as it will disable the gRPC communication between them.
A NodeFeature example
Consider the following referential example:
apiVersion: nfd.k8s-sigs.io/v1alpha1
+ Customization guide · Node Feature Discovery