1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-05 08:17:04 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen 8b4314bbbb source/custom: expression based label rules
Implement a framework for more flexible rule configuration and matching,
mimicking the MatchExpressions pattern from K8s nodeselector.

The basic building block is MatchExpression which contains an operator
and a list of values. The operator specifies that "function" that is
applied when evaluating a given input agains the list of values.
Available operators are:

- MatchIn
- MatchNotIn
- MatchInRegexp
- MatchExists
- MatchDoesNotExist
- MatchGt
- MatchLt
- MatchIsTrue
- MatchIsFalse

Another building block of the framework is MatchExpressionSet which is a
map of string-MatchExpression pairs. It is a helper for specifying
multiple expressions that can be matched against a set of set of
features.

This patch converts all existing custom rules to utilize the new
expression-based framework.
2021-11-11 19:59:34 +02:00
.github Merge pull request #498 from marquiz/devel/github-release-template 2021-04-06 17:24:40 -07:00
cmd topology-updater:fix klog initialization 2021-10-11 21:36:54 +03:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment deployment: add topology updater helm chart 2021-10-26 10:52:40 +08:00
docs Documentation capturing enablement of NFD-Topology-Updater in NFD 2021-10-29 10:14:38 +01:00
pkg pkg/api/feature: revert back to structs instead of pointers 2021-11-11 17:56:55 +02:00
scripts scripts/test-infra: bump golangci-lint to v1.42.1 2021-10-04 09:43:21 +03:00
source source/custom: expression based label rules 2021-11-11 19:59:34 +02:00
test Merge pull request #644 from marquiz/devel/e2e-boot-mount 2021-11-10 11:13:27 -08: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 cloudbuild.yaml: use staging container image repo 2020-09-04 08:46:03 +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 Bump to golang v1.17 2021-10-21 14:16:55 +03:00
go.mod Bump to golang v1.17 2021-10-21 14:16:55 +03:00
go.sum topologyupdater: Updates based on latest changes made to CRD API 2021-09-21 10:48:10 +01:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Makefile: let gofmt-verify write changes back to files 2021-10-22 12:03:24 +03:00
OWNERS Update OWNERS file 2021-02-15 12:10:51 +00:00
README.md README: update deployment instructions to use v0.9.0 2021-08-20 09:05:40 +03:00
SECURITY_CONTACTS Update SECURITY_CONTACTS 2020-11-19 15:10:27 -05:00

Node Feature Discovery

Go Report Card Prow Build

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.9.0
  namespace/node-feature-discovery 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
  {
    "beta.kubernetes.io/arch": "amd64",
    "beta.kubernetes.io/os": "linux",
    "feature.node.kubernetes.io/cpu-cpuid.ADX": "true",
    "feature.node.kubernetes.io/cpu-cpuid.AESNI": "true",
...