mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2024-12-14 11:57:51 +00:00
documentaion: document the reactive updates feature
Signed-off-by: Talor Itzhak <titzhak@redhat.com>
This commit is contained in:
parent
91daff3b59
commit
727de56191
3 changed files with 53 additions and 29 deletions
|
@ -152,28 +152,29 @@ We have introduced the following Chart parameters.
|
|||
|
||||
### Topology updater parameters
|
||||
|
||||
| Name | Type | Default | description |
|
||||
|-----------------------------------------------|--------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `topologyUpdater.*` | dict | | NFD Topology Updater configuration |
|
||||
| `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.serviceAccount.create` | bool | true | Specifies whether the service account for topology updater should be created |
|
||||
| `topologyUpdater.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for topology updater |
|
||||
| `topologyUpdater.serviceAccount.name` | string | | The name of the service account for topology updater to use. If not set and create is true, a name is generated using the fullname template and `-topology-updater` suffix |
|
||||
| `topologyUpdater.rbac.create` | bool | false | Specifies whether to create [RBAC][rbac] configuration for topology updater |
|
||||
| `topologyUpdater.kubeletConfigPath` | string | "" | Specifies the kubelet config host path |
|
||||
| `topologyUpdater.kubeletPodResourcesSockPath` | string | "" | Specifies the kubelet sock path to read pod resources |
|
||||
| `topologyUpdater.updateInterval` | string | 60s | Time to sleep between CR updates. Non-positive value implies no CR update. |
|
||||
| `topologyUpdater.watchNamespace` | string | `*` | Namespace to watch pods, `*` for all namespaces |
|
||||
| `topologyUpdater.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settings |
|
||||
| `topologyUpdater.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
||||
| `topologyUpdater.resources` | dict | {} | Topology updater pod [resources management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
|
||||
| `topologyUpdater.nodeSelector` | dict | {} | Topology updater pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
||||
| `topologyUpdater.tolerations` | dict | {} | Topology updater pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
||||
| `topologyUpdater.annotations` | dict | {} | Topology updater pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||
| `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.podSetFingerprint` | bool | false | Enables compute and report of pod fingerprint in NRT objects. |
|
||||
| Name | Type | Default | description |
|
||||
|-----------------------------------------------|--------|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `topologyUpdater.*` | dict | | NFD Topology Updater configuration |
|
||||
| `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.serviceAccount.create` | bool | true | Specifies whether the service account for topology updater should be created |
|
||||
| `topologyUpdater.serviceAccount.annotations` | dict | {} | Annotations to add to the service account for topology updater |
|
||||
| `topologyUpdater.serviceAccount.name` | string | | The name of the service account for topology updater to use. If not set and create is true, a name is generated using the fullname template and `-topology-updater` suffix |
|
||||
| `topologyUpdater.rbac.create` | bool | false | Specifies whether to create [RBAC][rbac] configuration for topology updater |
|
||||
| `topologyUpdater.kubeletConfigPath` | string | "" | Specifies the kubelet config host path |
|
||||
| `topologyUpdater.kubeletPodResourcesSockPath` | string | "" | Specifies the kubelet sock path to read pod resources |
|
||||
| `topologyUpdater.updateInterval` | string | 60s | Time to sleep between CR updates. Non-positive value implies no CR update. |
|
||||
| `topologyUpdater.watchNamespace` | string | `*` | Namespace to watch pods, `*` for all namespaces |
|
||||
| `topologyUpdater.podSecurityContext` | dict | {} | [PodSecurityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod) holds pod-level security attributes and common container settings |
|
||||
| `topologyUpdater.securityContext` | dict | {} | Container [security settings](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container) |
|
||||
| `topologyUpdater.resources` | dict | {} | Topology updater pod [resources management](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |
|
||||
| `topologyUpdater.nodeSelector` | dict | {} | Topology updater pod [node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) |
|
||||
| `topologyUpdater.tolerations` | dict | {} | Topology updater pod [node tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) |
|
||||
| `topologyUpdater.annotations` | dict | {} | Topology updater pod [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) |
|
||||
| `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.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
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ nfd-topology-updater -podresources-socket=/var/lib/kubelet/pod-resources/kubelet
|
|||
|
||||
### -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.
|
||||
|
||||
Default: `false`
|
||||
|
@ -159,3 +159,17 @@ Example:
|
|||
```bash
|
||||
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
|
||||
```
|
||||
|
|
|
@ -9,19 +9,28 @@ sort: 5
|
|||
|
||||
---
|
||||
|
||||
NFD-Topology-Updater is preferably run as a Kubernetes DaemonSet. This assures
|
||||
re-examination on regular intervals, capturing changes in the allocated
|
||||
resources and hence the allocatable resources on a per zone basis by updating
|
||||
NFD-Topology-Updater is preferably run as a Kubernetes DaemonSet.
|
||||
This assures re-examination on regular intervals
|
||||
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.
|
||||
It makes sure that new NodeResourceTopology instances are created for each new
|
||||
nodes that get added to the cluster.
|
||||
|
||||
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
|
||||
[`-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
|
||||
-sleep-interval is specified.
|
||||
option. The default sleep interval is set to 60s
|
||||
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
|
||||
given a configuration of resources to exclude via [`-excludeList`](../reference/topology-updater-configuration-reference.md#excludelist)
|
||||
|
||||
|
|
Loading…
Reference in a new issue