1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-19 14:53:07 +00:00

documentaion: document the reactive updates feature

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
This commit is contained in:
Talor Itzhak 2023-02-21 17:09:04 +02:00
parent 91daff3b59
commit 727de56191
3 changed files with 53 additions and 29 deletions

View file

@ -153,7 +153,7 @@ We have introduced the following Chart parameters.
### Topology updater parameters ### Topology updater parameters
| Name | Type | Default | description | | Name | Type | Default | description |
|-----------------------------------------------|--------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------------------|--------|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `topologyUpdater.*` | dict | | NFD Topology Updater configuration | | `topologyUpdater.*` | dict | | NFD Topology Updater configuration |
| `topologyUpdater.enable` | bool | false | Specifies whether the NFD Topology Updater should be created | | `topologyUpdater.enable` | bool | false | Specifies whether the NFD Topology Updater should be created |
| `topologyUpdater.createCRDs` | bool | false | Specifies whether the NFD Topology Updater CRDs should be created | | `topologyUpdater.createCRDs` | bool | false | Specifies whether the NFD Topology Updater CRDs should be created |
@ -174,6 +174,7 @@ We have introduced the following Chart parameters.
| `topologyUpdater.affinity` | dict | {} | Topology updater pod [affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | | `topologyUpdater.affinity` | dict | {} | Topology updater pod [affinity](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) |
| `topologyUpdater.config` | dict | | [configuration](../reference/topology-updater-configuration-reference) | | `topologyUpdater.config` | dict | | [configuration](../reference/topology-updater-configuration-reference) |
| `topologyUpdater.podSetFingerprint` | bool | false | Enables compute and report of pod fingerprint in NRT objects. | | `topologyUpdater.podSetFingerprint` | bool | false | Enables compute and report of pod fingerprint in NRT objects. |
| `topologyUpdater.kubeletStateDir` | string | "/host-var/lib/kubelet" | Specifies kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking. |
### Topology garbage collector parameters ### Topology garbage collector parameters

View file

@ -149,7 +149,7 @@ nfd-topology-updater -podresources-socket=/var/lib/kubelet/pod-resources/kubelet
### -pods-fingerprint ### -pods-fingerprint
Enbles the compute and report the pod set fingerprint in the NRT. Enables compute and report the pod set fingerprint in the NRT.
A pod fingerprint is a compact representation of the "node state" regarding resources. A pod fingerprint is a compact representation of the "node state" regarding resources.
Default: `false` Default: `false`
@ -159,3 +159,17 @@ Example:
```bash ```bash
nfd-topology-updater -pods-fingerprint nfd-topology-updater -pods-fingerprint
``` ```
### -kubelet-state-dir
The `-kubelet-state-dir` specifies the path to the Kubelet state directory,
where state and checkpoint files are stored.
The files are mount as read-only and cannot be change by the updater.
Default: /host-var/lib/kubelet
Example:
```bash
nfd-topology-updater -kubelet-state-dir=/var/lib/kubelet
```

View file

@ -9,19 +9,28 @@ sort: 5
--- ---
NFD-Topology-Updater is preferably run as a Kubernetes DaemonSet. This assures NFD-Topology-Updater is preferably run as a Kubernetes DaemonSet.
re-examination on regular intervals, capturing changes in the allocated This assures re-examination on regular intervals
resources and hence the allocatable resources on a per zone basis by updating and/or per pod life-cycle events, capturing changes in the allocated
resources and hence the allocatable resources on a per-zone basis by updating
[NodeResourceTopology](custom-resources.md#noderesourcetopology) custom resources. [NodeResourceTopology](custom-resources.md#noderesourcetopology) custom resources.
It makes sure that new NodeResourceTopology instances are created for each new It makes sure that new NodeResourceTopology instances are created for each new
nodes that get added to the cluster. nodes that get added to the cluster.
When run as a daemonset, nodes are re-examined for the allocated resources 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 (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 where a zone can be a NUMA node) at an interval specified using the
[`-sleep-interval`](../reference/topology-updater-commandline-reference.html.md#-sleep-interval) [`-sleep-interval`](../reference/topology-updater-commandline-reference.html.md#-sleep-interval)
option. The default sleep interval is set to 60s which is the value when no option. The default sleep interval is set to 60s
-sleep-interval is specified. which is the value when no -sleep-interval is specified.
The re-examination can be disabled by setting the sleep-interval to 0.
Another option is to configure the updater to update
the allocated resources per pod life-cycle events.
The updater will monitor the checkpoint file stated in
[`-kubelet-state-dir`](../reference/topology-updater-commandline-reference.md#-kubelet-state-dir)
and triggers an update for every change occurs in the files.
In addition, it can avoid examining specific allocated resources In addition, it can avoid examining specific allocated resources
given a configuration of resources to exclude via [`-excludeList`](../reference/topology-updater-configuration-reference.md#excludelist) given a configuration of resources to exclude via [`-excludeList`](../reference/topology-updater-configuration-reference.md#excludelist)