1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-28 18:57:10 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen 237494463b nfd-worker: support creating NodeFeatures object
Support the new NodeFeatures object of the NFD CRD api. Add two new
command line options to nfd-worker:

 -kubeconfig               specifies the kubeconfig to use for
                           connecting k8s api (defaults to empty which
                           implies in-cluster config)
 -enable-nodefeature-api   enable the NodeFeature CRD API for
                           communicating node features to nfd-master,
                           will also automatically disable gRPC
                           (defgault to false)

No config file option for selecting the API is available as there should
be no need for dynamically selecting between gRPC and CRD. The
nfd-master configuration must be changed in tandem and it is safer (and
avoid awkward configuration races) to configure the whole NFD deployment
at once.

Default behavior of nfd-worker is not changed i.e. NodeFeatures object
creation is not enabled by default (but must be enabled with the command
line flag).

The patch also updates the kustomize and Helm deployment, adding RBAC
rules for nfd-worker and updating the example worker configuration.
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-worker: support creating NodeFeatures object 2022-12-14 07:31:28 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment nfd-worker: support creating NodeFeatures object 2022-12-14 07:31:28 +02:00
docs nfd-worker: support creating NodeFeatures object 2022-12-14 07:31:28 +02: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 nfd-worker: support creating NodeFeatures object 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",
...