docs/doc/source/node_management/kubernetes/install-node-feature-discovery-nfd-starlingx-application-70f6f940bb4a.rst
Elisamara Aoki Goncalves 01fa4f00a0 Node Feature Discovery (NFD) Up Version
Story: 2011126
Task: 50507

Change-Id: I1fba1899740846b4fd380af7b2dc301ef40afa2d
Signed-off-by: Elisamara Aoki Goncalves <elisamaraaoki.goncalves@windriver.com>
2024-07-04 14:08:37 +00:00

3.0 KiB

Install Node Feature Discovery Application

Node Feature Discovery (NFD) detects hardware features available on each node in a kubernetes cluster and advertises those features using kubernetes node labels. Use the following procedure to install the application.

Before attempting to install the application, ensure that your system meets the following requirements:

  1. Ensure that you have at least kubernetes version v1.24.4 installed. If kubernetes v1.24.4 is not installed, see manual-kubernetes-components-upgrade for more details.

  2. If you have previously installed the Helm chart, you need to uninstall it before proceeding with the new installation. To uninstall, use the following command:

    ~(keystone_admin)]$ helm uninstall node-feature-discovery -n <namespace>

    <namespace> is the location, where you installed the Helm chart.

Use the following steps to install the application:

  1. Locate the tarball in the /usr/local/share/applications/helm directory.

    For example:

    /usr/local/share/applications/helm/node-feature-discovery-<version>.tgz

    Replace <version> with the latest version number.

  2. Upload the application using the following command.

    ~(keystone_admin)]$ system application-upload /usr/local/share/applications/helm/node-feature-discovery-<version>.tgz

    Replace <version> with the latest version number.

  3. Verify that the application has been uploaded successfully.

    ~(keystone_admin)]$ system application-list
  4. Apply the updates using the following command.

    ~(keystone_admin)]$ system application-apply node-feature-discovery
  5. Monitor the status of the installation using one of the following commands.

    ~(keystone_admin)]$ watch system application-list
    
    or
    
    ~(keystone_admin)]$ watch kubectl get pods -n node-feature-discovery

  • A worker pod is created for each node in the kubernetes cluster. These worker pods gather information about node features periodically and updates the labels associated with the nodes.
  • Additionally, there is one master pod that gathers all the updated data from worker pods and reports it for efficient feature management and a garbage collection of stale node feature objects pod.

The application is now installed on your system, and the hardware features available on each node in the kubernetes cluster will be detected and advertised using kubernetes node labels. To check the label for any configuration, use the following command:

~(keystone_admin)]$ kubectl label node/<node's name> --list | grep "feature.node.kubernetes.io"

Where <node's name> is name of the node.