1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-14 20:56:42 +00:00
Node feature discovery for Kubernetes
Find a file
Feruzjon Muyassarov 2bdf427b89 nfd-master logic update for setting node taints
This commits extends NFD master code to support adding node taints
from NodeFeatureRule CR. We also introduce a new annotation for
taints which helps to identify if the taint set on node is owned
by NFD or not. When user deletes the taint entry from
NodeFeatureRule CR, NFD will remove the taint from the node. But
to avoid accidental deletion of taints not owned by the NFD, it
needs to know the owner. Keeping track of NFD set taints in the
annotation can be used during the filtering of the owner. Also
enable-taints flag is added to allow users opt in/out for node
tainting feature. The flag takes precedence over taints defined
in NodeFeatureRule CR. In other words, if enbale-taints is set to
false(disabled) and user still defines taints on the CR, NFD will
ignore those taints and skip them from setting on the node.

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
2022-12-02 17:25:00 +02:00
.github scripts: move hacky scripts to hack directory 2022-09-13 17:58:09 +03:00
cmd nfd-master logic update for setting node taints 2022-12-02 17:25:00 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment Add taints field to NodeFeatureRule CR spec 2022-12-02 17:25:00 +02:00
docs Merge pull request #976 from marquiz/docs/customization-guide 2022-12-01 12:51:55 -08:00
examples docs: add customization guide 2022-01-08 09:56:05 +02:00
hack scripts: move hacky scripts to hack directory 2022-09-13 17:58:09 +03:00
pkg nfd-master logic update for setting node taints 2022-12-02 17:25:00 +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 test/e2e: no pod restart policy of nfd-worker by default 2022-12-01 16:14:11 +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 Kubernetes to v1.25.3 2022-10-21 15:35:30 +03:00
go.sum Bump Kubernetes to v1.25.3 2022-10-21 15:35:30 +03: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",
...