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 c3da439d21 source/memory: implement FeatureSource
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.
2021-11-23 15:08:15 +02:00
.github Merge pull request #498 from marquiz/devel/github-release-template 2021-04-06 17:24:40 -07:00
cmd nfd-master: add -featurerules-controller flag 2021-11-22 16:57:42 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment source/memory: implement FeatureSource 2021-11-23 15:08:15 +02:00
docs nfd-master: add -featurerules-controller flag 2021-11-22 16:57:42 +02:00
hack grpc: extend the API to send raw features 2021-11-16 17:32:28 +02:00
pkg nfd-master: process labeling rules from CRs 2021-11-23 09:18:07 +02:00
scripts scripts/test-infra: bump golangci-lint to v1.42.1 2021-10-04 09:43:21 +03:00
source source/memory: implement FeatureSource 2021-11-23 15:08:15 +02:00
test Revert "test/e2e: drop /boot mount" 2021-11-23 10:50:20 +02:00
.dockerignore dockerignore: tidy up and update 2020-05-19 10:13:54 +03:00
.gitignore Only add kustomization.yaml in the root to .gitignore 2021-08-26 15:27:03 +01: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 Bump to golang v1.17 2021-10-21 14:16:55 +03:00
go.mod pkg/apis/nfd: specify CRD for custom labeling rules 2021-11-17 13:40:23 +02:00
go.sum NFD-Topology-Updater: Bump NRT API to version v0.0.12 2021-11-16 13:28:23 +00:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile pkg/generated: add code for interacting with CRD API 2021-11-17 18:51:34 +02:00
OWNERS Update OWNERS file 2021-02-15 12:10:51 +00:00
README.md README: update deployment instructions to use v0.9.0 2021-08-20 09:05:40 +03: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 -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",
...