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
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. |
||
---|---|---|
.github | ||
cmd | ||
demo | ||
deployment | ||
docs | ||
examples | ||
hack | ||
pkg | ||
scripts | ||
source | ||
test | ||
.dockerignore | ||
.gitignore | ||
cloudbuild.yaml | ||
code-of-conduct.md | ||
codecov.yml | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Dockerfile_generator | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
netlify.toml | ||
OWNERS | ||
README.md | ||
SECURITY_CONTACTS | ||
Tiltfile |
Node Feature Discovery
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",
...