1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-05 00:07:03 +00:00
Node feature discovery for Kubernetes
Find a file
Markus Lehtonen a053efda64 nfd-master: run a separate gRPC health server
This patch separates the gRPC health server from the deprecated gRPC
server (disabled by default, replaced by the NodeFeature CRD API) used
for node labeling requests. The new health server runs on hardcoded TCP
port number 8082.

The main motivation for this change is to make the Kubernetes' built-in
gRPC liveness probes to function if TLS is enabled (as they don't
support TLS).

The health server itself is a naive implementation (as it was before),
basically only checking that nfd-master has started and hasn't crashed.
The patch adds a TODO note to improve the functionality.
2024-01-04 13:58:26 +02:00
.github github: update tagging instructions in release checklists 2023-12-22 10:00:13 +02:00
cmd nfd-master: run a separate gRPC health server 2024-01-04 13:58:26 +02:00
demo demo: make demo runnable again 2020-09-10 17:09:53 +03:00
deployment nfd-master: run a separate gRPC health server 2024-01-04 13:58:26 +02:00
docs helm: add post-delete hook that cleans up the node 2023-12-29 15:36:41 +02:00
examples Add kubectl-nfd 2023-12-21 16:00:19 +01:00
hack Fix Usage example for prepare-release.sh 2023-04-26 11:15:18 +02:00
pkg nfd-master: run a separate gRPC health server 2024-01-04 13:58:26 +02:00
scripts Merge pull request #1455 from ArangoGutierrez/validation 2023-12-12 11:04:06 +01:00
source apis/nfd: split rule processing into a separate package 2023-12-20 12:52:15 +02:00
test test/e2e: replace k8s.io/utils/pointer package 2023-12-20 15:12:11 +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 Add kubectl-nfd 2023-12-21 16:00:19 +01:00
go.sum go.mod: bump kubernetes to v1.29 2023-12-20 14:40:52 +02:00
LICENSE Template project files 2016-07-22 22:13:48 -07:00
Makefile Merge pull request #1526 from marquiz/devel/e2e-timeout 2023-12-22 15:46:43 +01: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.15.0 release 2023-12-21 21:40:14 +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.15.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",
...