Deployment with NFD Operator

Table of contents

  1. Deployment
  2. Uninstallation

The Node Feature Discovery Operator automates installation, configuration and updates of NFD using a specific NodeFeatureDiscovery custom resource. This also provides good support for managing NFD as a dependency of other operators.

Deployment

Deployment using the Node Feature Discovery Operator is recommended to be done via operatorhub.io.

  1. You need to have OLM installed. If you don't, take a look at the latest release for detailed instructions.
  2. Install the operator:

    kubectl create -f https://operatorhub.io/install/nfd-operator.yaml
    
  3. Create NodeFeatureDiscovery object (in nfd namespace here):

    cat << EOF | kubectl apply -f -
    apiVersion: v1
    kind: Namespace
    metadata:
      name: nfd
    ---
    apiVersion: nfd.kubernetes.io/v1
    kind: NodeFeatureDiscovery
    metadata:
      name: my-nfd-deployment
      namespace: nfd
    spec:
      operand:
        image: registry.k8s.io/nfd/node-feature-discovery:v0.12.5
        imagePullPolicy: IfNotPresent
    EOF
    

In order to deploy the minimal image you need to use

  image: registry.k8s.io/nfd/node-feature-discovery:v0.12.5-minimal

in the NodeFeatureDiscovery object above.

Uninstallation

If you followed the deployment instructions above you can simply do:

kubectl -n nfd delete NodeFeatureDiscovery my-nfd-deployment

Optionally, you can also remove the namespace:

kubectl delete ns nfd

See the node-feature-discovery-operator and OLM project documentation for instructions for uninstalling the operator and operator lifecycle manager, respectively.