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/docs/usage/nfd-topology-updater.md
Markus Lehtonen 8a45384037 docs: simplify quick-start page
Move topology-updater deployment notes to the topology-updater usage
page. Also, rework the plaintext and headings a bit.
2022-12-01 12:22:23 +02:00

3.2 KiB

title layout sort
NFD-Topology-Updater default 5

NFD-Topology-Updater

{: .no_toc}


NFD-Topology-Updater is preferably run as a Kubernetes DaemonSet. This assures re-examination (and CR updates) on regular intervals capturing changes in the allocated resources and hence the allocatable resources on a per zone basis. It makes sure that more CR instances are created as new nodes get added to the cluster. Topology-Updater connects to the nfd-master service to create CR instances corresponding to nodes.

When run as a daemonset, nodes are re-examined for the allocated resources (to determine the information of the allocatable resources on a per zone basis where a zone can be a NUMA node) at an interval specified using the -sleep-interval option. The default sleep interval is set to 60s which is the value when no -sleep-interval is specified. In addition, it can avoid examining specific allocated resources given a configuration of resources to exclude via -excludeList

Deployment Notes

Kubelet PodResource API is a prerequisite for nfd-topology-updater to be able to run.

Preceding Kubernetes v1.23, the kubelet must be started with --feature-gates=KubeletPodResourcesGetAllocatable=true.

Starting from Kubernetes v1.23, the KubeletPodResourcesGetAllocatable feature gate. is enabled by default

Topology-Updater Configuration

NFD-Topology-Updater supports configuration through a configuration file. The default location is /etc/kubernetes/node-feature-discovery/topology-updater.conf, but, this can be changed by specifying the-config command line flag.

NOTE: unlike nfd-worker, dynamic configuration updates are not currently supported.

Topology-Updater configuration file is read inside the container, and thus, Volumes and VolumeMounts are needed to make your configuration available for NFD. The preferred method is to use a ConfigMap which provides easy deployment and re-configurability.

The provided nfd-topology-updater deployment templates create an empty configmap and mount it inside the nfd-topology-updater containers. In kustomize deployments, configuration can be edited with:

kubectl -n ${NFD_NS} edit configmap nfd-topology-updater-conf

In Helm deployments, Topology Updater parameters toplogyUpdater.config can be used to edit the respective configuration.

See nfd-topology-updater configuration file reference for more details. The (empty-by-default) example config contains all available configuration options and can be used as a reference for creating a configuration.