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
Separate feature discovery and creation of feature labels. Generalize the discovery of nvdimm devices so that they can be matched in custom label rules in a similar fashion as pci and usb devices. Available attributes for matching nvdimm devices are limited to: - devtype - mode For numa we now detect the number of numa nodes which can be matched agains in custom label rules. Labels created by the memory feature source are unchanged. The new features being detected are available in custom rules only. Example custom rule: - name: "my memory rule" labels: my-memory-feature: "true" matchFeatures: - feature: memory.numa matchExpressions: "node_count": {op: Gt, value: ["3"]} - feature: memory.nv matchExpressions: "devtype" {op: In, value: ["nd_dax"]} Also, add minimalist unit test. |
||
---|---|---|
.github | ||
cmd | ||
demo | ||
deployment | ||
docs | ||
hack | ||
pkg | ||
scripts | ||
source | ||
test | ||
.dockerignore | ||
.gitignore | ||
cloudbuild.yaml | ||
code-of-conduct.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
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 -k https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref=v0.9.0
namespace/node-feature-discovery created
serviceaccount/nfd-master created
clusterrole.rbac.authorization.k8s.io/nfd-master created
clusterrolebinding.rbac.authorization.k8s.io/nfd-master created
configmap/nfd-worker-conf created
service/nfd-master created
deployment.apps/nfd-master created
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",
...