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
adrianc b5b503c6a5 Add support running with OwnerReferencesPermissionEnforcement
when OwnerReferencesPermissionEnforcement validating webhook is
enabled additional permissions are required to set/update owner ref
field. NFD worker sets/updates NodeFeature owner ref field to
the worker pod and owning daemonset.

owner reference can only be updated if the worker has delete permissions
for NodeFeatures.

if owner reference has blockOwnerDeletion (as the case for the daemonset
owner reference) then it requires update permissions to the finalizers
of the owner, to avoid this, we set blockOwnerDeleteion to false for all
owners referenced from NFD worker pod when setting/updating NodeFeature
owner ref.

Signed-off-by: adrianc <adrianc@nvidia.com>
2025-01-08 13:59:12 +00:00
.github Release template: Document tagging for API submodule 2024-11-06 15:10:38 +01:00
api go.mod: bump golang.org/x/net to v0.33.0 2024-12-20 14:46:37 +02:00
cmd Add experimental note and fix subcmds flags naming 2024-12-18 15:39:18 +01:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment Add support running with OwnerReferencesPermissionEnforcement 2025-01-08 13:59:12 +00:00
docs Prepare v0.17 release 2024-12-20 18:13:43 +02:00
enhancements NFD image compatibility proposal 2024-10-16 10:49:22 +02:00
examples Introduce nfd client tool with a subset of image compatibility commands 2024-12-18 10:49:02 +01:00
hack Add NodeFeatureGroup CRD 2024-05-23 16:34:08 +02:00
pkg Add support running with OwnerReferencesPermissionEnforcement 2025-01-08 13:59:12 +00:00
scripts Fix version parsing 2024-12-12 22:14:50 +02:00
source Extend NFR code with MatchStatus and introduce failFast strategy. 2024-12-18 10:48:14 +01:00
test Add support running with OwnerReferencesPermissionEnforcement 2025-01-08 13:59:12 +00: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 Drop protobuf definitions and protobuf code generation 2024-12-18 12:30:16 +02:00
go.mod go.mod: bump golang.org/x/net to v0.33.0 2024-12-20 14:46:37 +02:00
go.sum go.mod: bump golang.org/x/net to v0.33.0 2024-12-20 14:46:37 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Prepare v0.17 release 2024-12-20 18:13:43 +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 Prepare v0.17 release 2024-12-20 18:13:43 +02:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00
Tiltfile Bump Go to v1.23 2024-09-04 09:21:13 +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.17.0
  namespace/node-feature-discovery 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 created
  configmap/nfd-worker-conf 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",
...