1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-04-07 09:35:23 +00:00
Node feature discovery for Kubernetes
Find a file
Aleksey Senin bdb65e89ef Allow post-delete job to be disabled
There are situations where the modifications performed by the NFD need to be
preserved even after its removal.

One such use case arises when NFD is installed as part of another project. By
design, uninstalling the parent project does not remove all its components.
However, the remaining components still rely on the labels created by NFD. If
NFD is removed, these labels will be deleted, causing dependent components to
fail.

To maintain system integrity and ensure continued functionality, adding the
'postDeleteCleanup' option that allows any modifications made by NFD to be
preserved upon its removal.

Signed-off-by: Aleksey Senin <alekseys@nvidia.com>
2025-03-25 10:16:47 -04:00
.github Release template: Document tagging for API submodule 2024-11-06 15:10:38 +01:00
api Merge pull request #2087 from marquiz/devel/compat-api-types 2025-03-14 12:35:51 -07:00
cmd Merge pull request #1947 from marquiz/devel/health-topology-updater 2025-02-17 02:02:22 -08:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment Allow post-delete job to be disabled 2025-03-25 10:16:47 -04:00
docs Allow post-delete job to be disabled 2025-03-25 10:16:47 -04:00
enhancements NFD image compatibility proposal 2024-10-16 10:49:22 +02:00
examples Allow DS_PROMETHEUS substitution for grafana dashboard 2025-02-04 09:34:24 -05:00
hack drop tools.go in favor of go's native tool directive 2025-02-14 15:38:14 +02:00
pkg Merge pull request #2088 from fmuyassarov/modernize 2025-03-17 02:29:48 -07:00
scripts bump golangci-lint to v1.64.5 2025-02-14 15:51:11 +02:00
source Apply modernize analysis improvements 2025-03-13 22:55:02 +02:00
test Apply modernize analysis improvements 2025-03-13 22:55:02 +02:00
testdata Convert testdata to an empty go module 2024-10-22 19:20:33 +02:00
.dockerignore dockerignore: cleanup 2023-12-08 14:48:02 +02:00
.gitignore Add .idea/ to gitignore 2024-09-24 14:34:54 +02:00
cloudbuild.yaml cloudbuild: increase the image build timeout 2024-07-09 12:35:33 +03:00
code-of-conduct.md Update code-of-conduct.md 2017-12-20 14:12:51 -05:00
codecov.yml codecov: drop required minimum coverage ratio of at patch level 2023-04-28 17:00:14 +03:00
CONTRIBUTING.md Template project files 2016-07-22 22:13:48 -07:00
Dockerfile Dockerfile: cache go modules on build 2024-07-18 15:58:16 +03:00
Dockerfile_generator Bump vektra/mockery to v2.52.2 2025-02-14 17:03:05 +02:00
go.mod Merge pull request #2101 from kubernetes-sigs/dependabot/go_modules/master/github.com/onsi/gomega-1.36.3 2025-03-24 07:16:33 -07:00
go.sum Merge pull request #2101 from kubernetes-sigs/dependabot/go_modules/master/github.com/onsi/gomega-1.36.3 2025-03-24 07:16:33 -07:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile drop tools.go in favor of go's native tool directive 2025-02-14 15:38:14 +02:00
netlify.toml docs: use jekyll-rtd-theme from a ruby gem 2024-08-08 23:33:37 +03:00
OWNERS replace AhmedGrati account with TessaIO as reviewer 2024-03-16 21:37:05 +01:00
README.md README: update to v0.17.2 2025-02-24 11:27:28 +02:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00
Tiltfile drop tools.go in favor of go's native tool directive 2025-02-14 15:38:14 +02: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.17.2"
  namespace/node-feature-discovery created
  customresourcedefinition.apiextensions.k8s.io/nodefeaturegroups.nfd.k8s-sigs.io created
  customresourcedefinition.apiextensions.k8s.io/nodefeaturerules.nfd.k8s-sigs.io created
  customresourcedefinition.apiextensions.k8s.io/nodefeatures.nfd.k8s-sigs.io created
  serviceaccount/nfd-gc created
  serviceaccount/nfd-master created
  serviceaccount/nfd-worker created
  role.rbac.authorization.k8s.io/nfd-worker created
  clusterrole.rbac.authorization.k8s.io/nfd-gc created
  clusterrole.rbac.authorization.k8s.io/nfd-master created
  rolebinding.rbac.authorization.k8s.io/nfd-worker created
  clusterrolebinding.rbac.authorization.k8s.io/nfd-gc created
  clusterrolebinding.rbac.authorization.k8s.io/nfd-master created
  configmap/nfd-master-conf-9mfc26f2tc created
  configmap/nfd-worker-conf-c2mbm9t788 created
  deployment.apps/nfd-gc 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-gc-565fc85d9b-94jpj       1/1     Running   0          18s
  pod/nfd-master-6796d89d7b-qccrq   1/1     Running   0          18s
  pod/nfd-worker-nwdp6              1/1     Running   0          18s
...

$ 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",
...