1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2024-12-14 11:57:51 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen 59ebff46c9 apis/nfd: add CRD for communicating node features
Add a new NodeFeature CRD to the nfd Kubernetes API to communicate node
features over K8s api objects instead of gRPC. The new resource is
namespaced which will help the management of multiple NodeFeature
objects per node. This aims at enabling 3rd party detectors for custom
features.

In addition to communicating raw features the NodeFeature object also
has a field for directly requesting labels that should be applied on the
node object.

Rename the crd deployment file to nfd-api-crds.yaml so that it matches
the new content of the file. Also, rename the Helm subdir for CRDs to
match the expected chart directory structure.
2022-12-14 07:31:28 +02:00
.github scripts: move hacky scripts to hack directory 2022-09-13 17:58:09 +03:00
cmd nfd-topology-updater: update NodeResourceTopology objects directly 2022-12-08 11:03:22 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment apis/nfd: add CRD for communicating node features 2022-12-14 07:31:28 +02:00
docs Merge pull request #980 from marquiz/devel/topology-updater 2022-12-08 01:44:22 -08:00
examples docs: add customization guide 2022-01-08 09:56:05 +02:00
hack apis/nfd: add CRD for communicating node features 2022-12-14 07:31:28 +02:00
pkg apis/nfd: add CRD for communicating node features 2022-12-14 07:31:28 +02:00
scripts scripts/mdlint: update mdlint to v0.12.0 2022-12-01 20:57:21 +02:00
source Merge pull request #927 from yselkowitz/cpuid 2022-11-08 07:08:23 -08:00
test update test functions according to upstream deprecated/removed methods 2022-12-13 12:12:50 +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 Increase allowed image build timeout 2022-10-27 01:03:25 +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 dockerfile: update builder image to golang v1.18 2022-07-08 10:04:04 +03:00
Dockerfile_generator generate: use common builder base image 2022-09-08 12:43:15 +03:00
go.mod Bump go.mod k8s.io to 1.26 2022-12-13 12:12:46 +02:00
go.sum Bump go.mod k8s.io to 1.26 2022-12-13 12:12:46 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile helm: topology-updater: enable the configuration via helm 2022-11-21 21:31:37 +02:00
netlify.toml Add netlify configuration file 2022-09-16 00:47:49 +03:00
OWNERS OWNERS: add fmuyassarov as a reviewer 2022-10-13 16:39:59 +03:00
README.md README: update deployment instructions to use v0.11.3 2022-11-01 11:31:36 +02:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00
Tiltfile Update base image to Debian bullseye 2022-10-14 10:04:04 +03:00

Node Feature Discovery

Go Report Card Prow Build Prow E2E-Test

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.11.3
  namespace/node-feature-discovery created
  customresourcedefinition.apiextensions.k8s.io/nodefeaturerules.nfd.k8s-sigs.io 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
  {
    "kubernetes.io/arch": "amd64",
    "kubernetes.io/os": "linux",
    "feature.node.kubernetes.io/cpu-cpuid.ADX": "true",
    "feature.node.kubernetes.io/cpu-cpuid.AESNI": "true",
...