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
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. |
||
---|---|---|
.github | ||
cmd | ||
demo | ||
docs | ||
pkg | ||
scripts | ||
source | ||
test | ||
.dockerignore | ||
.gitignore | ||
cloudbuild.yaml | ||
code-of-conduct.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
nfd-daemonset-combined.yaml.template | ||
nfd-master.yaml.template | ||
nfd-prune.yaml.template | ||
nfd-worker-daemonset.yaml.template | ||
nfd-worker-job.yaml.template | ||
nfd-worker.conf.example | ||
OWNERS | ||
README.md | ||
SECURITY_CONTACTS |
Node Feature Discovery
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",
...