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 185b406ee7 source/custom: add internal rule api
Add internal API for the nfd-worker custom feature source rule
configuration. This API has already diverged from the NFD
NodeFeatureRule API in that annotations, extended resources or taints
are not supported. This patch basically copies the Rule type (and it's
sub-types) from the nfdv1alpha1 package. It also adds conversion
functions from the internal rule API to the "external" nfdv1alpha1 API.
This is done to use the same rule matching functionality (from the
nfdv1alpha1 package).

One notable remark is that the feature source rule config supports some
custom formatting (short forms, multi-type fields) that relies on
special json/yaml unmarshalling functions that are better to nuke from
the nfdv1alpha1 package (in another patch). These (legacy) syntax
specialities are most probably used by nobody but let's keep them as
they're already there.  Unit tests to cover the custom json
unmarshalling are now added.
2023-12-18 15:19:19 +02:00
.github github: add a separate issue template for patch releases 2023-09-19 14:40:23 +03:00
cmd nfd-gc: add metrics 2023-10-09 13:39:28 +00:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment Document the NodeFeatureRule samples and move them under deployment dir 2023-12-15 13:43:26 +02:00
docs Merge pull request #1497 from AhmedGrati/feat-add-cpu-socket-number 2023-12-15 13:29:51 +01:00
examples Option to stop implicitly adding default prefix to names 2023-11-24 12:48:20 +02:00
hack Fix Usage example for prepare-release.sh 2023-04-26 11:15:18 +02:00
pkg Merge pull request #1477 from marquiz/devel/api-cleanup 2023-12-15 15:42:31 +01:00
scripts Merge pull request #1455 from ArangoGutierrez/validation 2023-12-12 11:04:06 +01:00
source source/custom: add internal rule api 2023-12-18 15:19:19 +02:00
test apis/nfd: add matchName field in feature matcher terms 2023-12-15 11:32:23 +02:00
.dockerignore dockerignore: cleanup 2023-12-08 14:48:02 +02:00
.gitignore gitignore: ignore codecov coverage report 2023-03-13 12:08:32 +02: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
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 Replace gRPC health probe utility with k8s built-in health probe 2023-09-20 12:25:36 +03:00
Dockerfile_generator generate: update kube code-gen to v1.28.4 2023-11-29 18:37:19 +02:00
go.mod Use generics for maps and slices 2023-12-13 12:09:53 +02:00
go.sum go.mod: update dependencies 2023-12-11 14:42:35 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Makefile: fix e2e-testing of the full image 2023-12-12 11:25:03 +02:00
netlify.toml Add netlify configuration file 2022-09-16 00:47:49 +03:00
OWNERS OWNERS: add ArangoGutierrez as an approver 2023-04-24 12:50:10 +03:00
README.md Update readme to v0.14.3 2023-10-23 19:31:41 +03: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.14.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",
...