<!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 Deployment with Helm Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0...."><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 Deployment with Helm Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0...."><metaname="twitter:card"content="summary"><metaname="twitter:site"content="@Kubernetes SIGs"><metaname="twitter:url"content="https://kubernetes-sigs.github.com/node-feature-discovery/master/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 Deployment with Helm Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0...."><metaproperty="og:locale"content="en"><metaproperty="og:url"content="https://kubernetes-sigs.github.com/node-feature-discovery/master/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-11-04T12:44:33+00:00"><scripttype="application/ld+json">{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://kubernetes-sigs.github.com/node-feature-discovery/master/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-11-04T12:44:33+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 Deployment with Helm Prerequisites Deployment Configuration Upgrading the chart From v0.7 and older From v0...."}</script><linkrel="dns-prefetch"href="https://cdn.jsdelivr.net"><linkrel="prev"href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/kustomize.html"><linkrel="next"href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/operator.html"><linkrel="canonical"href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/helm.html"><linkrel="icon"type="image/svg+xml"href="/node-feature-discovery/master/assets/images/favicon.svg"><linkrel="icon"type="image/png"href="/node-feature-discovery/master/assets/images/favicon-16x16.png"sizes="16x16"><linkrel="icon"type="image/png"href="/node-feature-discovery/master/assets/images/favicon-32x32.png"sizes="32x32"><linkrel="icon"type="image/png"href="/node-feature-discovery/master/assets/images/favicon-96x96.png"sizes="96x96"><linkrel="mask-icon"href="/node-feature-discovery/master/assets/images/favicon.svg"color="#2980b9"><linkrel="apple-touch-icon"href="/node-feature-discovery/master/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/master",i18n:{search_results:"SearchResults",search_results_found:"Searchfinished,found#page(s)matchingthesearchquer
</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 master 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
<spanclass="c"># Uninstall the old NFD deployment</span>
</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">gcr.io/k8s-staging-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">master</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>array</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. <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">featureGates.NodeFeatureAPI</code></td><td>bool</td><td>true</td><td>Enable the <ahref="/node-feature-discovery/master/usage/custom-resources.html#nodefeature">NodeFeature</a> CRD API for communicating node features. This will automatically disable the gRPC communication.</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">featureGates.NodeFeatureGroupAPI</code></td><td>bool</td><td>false</td><td>Enable the <ahref="/node-feature-discovery/master/usage/custom-resources.html#nodefeaturegroup">NodeFeatureGroup</a> CRD API.</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">featureGates.DisableAutoPrefix</code></td><td>bool</td><td>false</td><td>Enable <ahref="/node-feature-discovery/master/reference/feature-gates.html#disableautoprefix">DisableAutoPrefix</a> feature gate. Disables automatic prefixing of unprefixed labels, annotations and extended resources.</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">prometheus.enable</code></td><td>bool</td><td>false</td><td>Specifies whether to expose metrics using prometheus operator</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">prometheus.labels</code></td><td>dict</td><td>{}</td><td>Specifies labels for use with the prometheus operator to control how it is selected</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">prometheus.scrapeInterval</code></td><td>string</td><td>10s</td><td>Specifies the interval by which metrics are scraped</td></tr><tr><td><codeclass="language-plaintext highlighter-rouge notranslate">priorityClassName</code></td><td>string</td><td></td><td>The name of the PriorityClass to be used for the NFD pods.</td></tr></tbody></table><p>Metrics are configured to be exposed using prometheus operator API's by default. If you want to exp