1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-28 02:37:11 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen b6ff514853 nfd-worker: use fsnotify for watching for config file changes
Add support for detecting configuration file changes via file system
notifications (fsnotify). Watches are added for the whole directory
chain (up to root directory) so that all changes (even directory
renames) affecting the given configuration file path are captured.

Previously dynamic (re-)configuration of nfd-worker was implemented by
(re-)reading the configuration file on every labeling pass. This was
simple and effective, even if a bit wasteful. However, it didn't provide
asynchronous configuration updates that will be required for e.g.
controlling the "sleep-interval" parameter dynamically which will be
implemented by later patches.
2021-02-10 22:09:27 +02:00
.github github: switch to checkout v1 2020-12-07 12:35:05 +02:00
cmd nfd-master: use namespaced label and annotation names internally 2020-11-24 12:45:06 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
docs Merge pull request #406 from mythi/cpuid-v2.0 2020-12-04 06:21:59 -08:00
pkg nfd-worker: use fsnotify for watching for config file changes 2021-02-10 22:09:27 +02:00
scripts scripts/test-infra: update golangci-lint to v1.36.0 2021-02-10 12:58:44 +02:00
source go.mod: update to klauspost/cpuid/v2@v2.02 2020-12-15 15:56:15 +02:00
test nfd-master: use namespaced label and annotation names internally 2020-11-24 12:45:06 +02:00
.dockerignore dockerignore: tidy up and update 2020-05-19 10:13:54 +03:00
.gitignore gitignore: add bin/ 2020-11-24 21:23:15 +02:00
cloudbuild.yaml cloudbuild.yaml: use staging container image repo 2020-09-04 08:46:03 +03:00
code-of-conduct.md Update code-of-conduct.md 2017-12-20 14:12:51 -05:00
CONTRIBUTING.md Template project files 2016-07-22 22:13:48 -07:00
Dockerfile Container base image version bump: 2020-11-20 16:39:18 -05:00
go.mod nfd-worker: use fsnotify for watching for config file changes 2021-02-10 22:09:27 +02:00
go.sum go.mod: update to klauspost/cpuid/v2@v2.02 2020-12-15 15:56:15 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Change the worker conf update mechanism of templates 2021-02-04 18:56:55 +02:00
nfd-daemonset-combined.yaml.template Change the worker conf update mechanism of templates 2021-02-04 18:56:55 +02:00
nfd-master.yaml.template Set imagePullPolicy in the deployment templates to Always 2021-02-03 18:26:54 +02:00
nfd-prune.yaml.template Set imagePullPolicy in the deployment templates to Always 2021-02-03 18:26:54 +02:00
nfd-worker-daemonset.yaml.template Change the worker conf update mechanism of templates 2021-02-04 18:56:55 +02:00
nfd-worker-job.yaml.template Change the worker conf update mechanism of templates 2021-02-04 18:56:55 +02:00
nfd-worker.conf.example usb: Add support for USB device discovery 2020-05-20 16:18:39 +02:00
OWNERS OWNERS: drop balajismaniam 2020-11-19 21:28:53 +02:00
README.md README: update references to v0.7.0 2020-12-08 10:25:35 +02:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00

Node Feature Discovery

Go Report Card Prow Build

Welcome to Node Feature Discovery a Kubernetes add-on for detecting hardware features and system configuration!

See our Documentation for detailed instructions and reference

Quick-start the short-short version

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/v0.7.0/nfd-master.yaml.template
  namespace/node-feature-discovery created
...

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/v0.7.0/nfd-worker-daemonset.yaml.template
  daemonset.apps/nfd-worker created

$ kubectl -n node-feature-discovery get all
  NAME                              READY   STATUS    RESTARTS   AGE
  pod/nfd-master-555458dbbc-sxg6w   1/1     Running   0          56s
  pod/nfd-worker-mjg9f              1/1     Running   0          17s
...

$ kubectl get no -o json | jq .items[].metadata.labels
  {
    "beta.kubernetes.io/arch": "amd64",
    "beta.kubernetes.io/os": "linux",
    "feature.node.kubernetes.io/cpu-cpuid.ADX": "true",
    "feature.node.kubernetes.io/cpu-cpuid.AESNI": "true",
...