<!DOCTYPE html><htmllang="en"dir="auto"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1, maximum-scale=5, user-scalable=no"><metaname="description"content="Deployment with Helm Table of contents Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0.8 - v0.11 From v0.12 ..."><metaname="revised"content=""><metaname="author"content="Kubernetes SIGs"><metaname="generator"content="jekyll-rtd-theme v2.0.10"><metaname="theme-color"content="#2980b9"><title>Helm · Node Feature Discovery</title><metaname="twitter:title"content="Helm · Node Feature Discovery"><metaname="twitter:description"content="Deployment with Helm Table of contents Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0.8 - v0.11 From v0.12 ..."><metaname="twitter:card"content="summary"><metaname="twitter:site"content="@Kubernetes SIGs"><metaname="twitter:url"content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"><metaname="twitter:creator"content="@jekyll-rtd-theme v2.0.10"><metaproperty="og:title"content="Helm · Node Feature Discovery"><metaproperty="og:description"content="Deployment with Helm Table of contents Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0.8 - v0.11 From v0.12 ..."><metaproperty="og:locale"content="en"><metaproperty="og:url"content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"><metaproperty="og:type"content="article"><metaproperty="article:author"content="Kubernetes SIGs"><metaproperty="article:published_time"content="2016-07-23T05:07:52+00:00"><metaproperty="article:modified_time"content="2024-12-13T11:23:21+00:00"><scripttype="application/ld+json">{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"},"headline":"Helm · Node Feature Discovery","image":[],"author":{"@type":"Person","name":"Kubernetes SIGs"},"datePublished":"2016-07-23T05:07:52+00:00","dateModified":"2024-12-13T11:23:21+00:00","publisher":{"@type":"Organization","name":"Kubernetes SIGs","logo":{"@type":"ImageObject","url":"https://avatars.githubusercontent.com/u/36015203?v=4"}},"description":"Deployment with Helm Table of contents Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0.8 - v0.11 From v0.12 ..."}</script><linkrel="dns-prefetch"href="https://cdn.jsdelivr.net"><linkrel="prev"href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/kustomize.html"><linkrel="next"href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/operator.html"><linkrel="canonical"href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"><linkrel="icon"type="image/svg+xml"href="/node-feature-discovery/v0.16/assets/images/favicon.svg"><linkrel="icon"type="image/png"href="/node-feature-discovery/v0.16/assets/images/favicon-16x16.png"sizes="16x16"><linkrel="icon"type="image/png"href="/node-feature-discovery/v0.16/assets/images/favicon-32x32.png"sizes="32x32"><linkrel="icon"type="image/png"href="/node-feature-discovery/v0.16/assets/images/favicon-96x96.png"sizes="96x96"><linkrel="mask-icon"href="/node-feature-discovery/v0.16/assets/images/favicon.svg"color="#2980b9"><linkrel="apple-touch-icon"href="/node-feature-discovery/v0.16/assets/images/apple-touch-icon-300x300.jpg"><linkrel="stylesheet"href="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.10/assets/css/theme.min.css"><style>@media(min-width:1280px){.content-wrap{max-width:1200px}}</style><script>window.ui={title:"NodeFeatureDiscovery",baseurl:"/node-feature-discovery/v0.16",i18n:{search_results:"SearchResults",search_results_found:"Searchfinished,found#page(s)matchingthesearchquery.",search_r
</code></pre></div></div><p>To install the latest development version you need to clone the NFD Git repository and install from there.</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code>git clone https://github.com/kubernetes-sigs/node-feature-discovery/
</code></pre></div></div><p>See the <ahref="#configuration">configuration</a> section below for instructions how to alter the deployment parameters.</p><h2id="configuration">Configuration</h2><p>You can override values from <codeclass="language-plaintext highlighter-rouge notranslate">values.yaml</code> and provide a file with custom values:</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="nb">export </span><spanclass="nv">NFD_NS</span><spanclass="o">=</span>node-feature-discovery
</code></pre></div></div><p>To specify each parameter separately you can provide them to helm install command:</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="nb">export </span><spanclass="nv">NFD_NS</span><spanclass="o">=</span>node-feature-discovery
</code></pre></div></div><h2id="upgrading-the-chart">Upgrading the chart</h2><p>To upgrade the <codeclass="language-plaintext highlighter-rouge notranslate">node-feature-discovery</code> deployment to v0.16.6 via Helm.</p><h3id="from-v07-and-older">From v0.7 and older</h3><p>Please see the <ahref="https://kubernetes-sigs.github.io/node-feature-discovery/v0.7/get-started/deployment-and-usage.html#uninstallation">uninstallation guide</a>. And then follow the standard <ahref="#deployment">deployment instructions</a>.</p><h3id="from-v08---v011">From v0.8 - v0.11</h3><p>Helm deployment of NFD was introduced in v0.8.0.</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="nb">export </span><spanclass="nv">NFD_NS</span><spanclass="o">=</span>node-feature-discovery
</code></pre></div></div><h3id="from-v012---v013">From v0.12 - v0.13</h3><p>In v0.12 the <codeclass="language-plaintext highlighter-rouge notranslate">NodeFeature</code> CRD was introduced as experimental. The API was not enabled by default.</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="nb">export </span><spanclass="nv">NFD_NS</span><spanclass="o">=</span>node-feature-discovery
</code></pre></div></div><h3id="from-v014">From v0.14+</h3><p>As of version v0.14 the Helm chart is the primary deployment method for NFD, and the CRD <codeclass="language-plaintext highlighter-rouge notranslate">NodeFeature</code> is enabled by default.</p><divclass="language-bash highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="nb">export </span><spanclass="nv">NFD_NS</span><spanclass="o">=</span>node-feature-discovery
</code></pre></div></div><p>The command removes all the Kubernetes components associated with the chart and deletes the release. It also runs a post-delete hook that cleans up the nodes of all labels, annotations, taints and extended resources that were created by NFD.</p><h2id="chart-parameters">Chart parameters</h2><p>To tailor the deployment of the Node Feature Discovery to your needs following Chart parameters are available.</p><h3id="general-parameters">General parameters</h3><table><thead><tr><th>Name</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">image.repository</code></td><td>string</td><td><codeclass="language-plaintext highlighter-rouge notranslate">registry.k8s.io/nfd/node-feature-discovery</code></td><td>NFD image repository</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">image.tag</code></td><td>string</td><td><codeclass="language-plaintext highlighter-rouge notranslate">v0.16.6</code></td><td>NFD image tag</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">image.pullPolicy</code></td><td>string</td><td><codeclass="language-plaintext highlighter-rouge notranslate">Always</code></td><td>Image pull policy</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">imagePullSecrets</code></td><td>list</td><td>[]</td><td>ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. <ahref="https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod">More info</a></td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">nameOverride</code></td><td>string</td><td></td><td>Override the name of the chart</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">fullnameOverride</code></td><td>string</td><td></td><td>Override a default fully qualified app name</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">tls.enable</code></td><td>bool</td><td>false</td><td>Specifies whether to use TLS for communications between components. <strong>NOTE</strong>: this parameter is related to the deprecated gRPC API and will be removed with it in a future release</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">tls.certManager</code></td><td>bool</td><td>false</td><td>If enabled, requires <ahref="https://cert-manager.io/docs/">cert-manager</a> to be installed and will automatically create the required TLS certificates. <strong>NOTE</strong>: this parameter is related to the deprecated gRPC API and will be removed with it in a future release</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">tls.certManager.certManagerCertificate.issuerName</code></td><td>string</td><td></td><td>If specified, it will use a pre-existing issuer instead for the required TLS certificates. <strong>NOTE</strong>: this parameter is related to the deprecated gRPC API and will be removed with it in a future release</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">tls.certManager.certManagerCertificate.issuerKind</code></td><td>string</td><td></td><td>Specifies on what kind of issuer is used, can be either ClusterIssuer or Issuer (default). Requires <codeclass="language-plaintext highlighter-rouge notranslate">tls.certManager.certManagerCertificate.issuerName</code> to be set. <strong>NOTE</strong>: this parameter is related to the deprecated gRPC API and will be removed with it in a future release</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">featureGates.NodeFeatureAPI</code></td><td>bool</td><td>true</td>