1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2025-03-06 16:57:10 +00:00
node-feature-discovery/v0.16/deployment/helm.html

44 lines
62 KiB
HTML
Raw Normal View History

<!DOCTYPE html> <html lang="en" dir="auto"> <head><meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, user-scalable=no"> <meta name="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 ..."> <meta name="revised" content=""> <meta name="author" content="Kubernetes SIGs"> <meta name="generator" content="jekyll-rtd-theme v2.0.10"><meta name="theme-color" content="#2980b9"> <title>Helm · Node Feature Discovery</title> <meta name="twitter:title" content="Helm · Node Feature Discovery"> <meta name="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 ..."> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@Kubernetes SIGs"> <meta name="twitter:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"> <meta name="twitter:creator" content="@jekyll-rtd-theme v2.0.10"> <meta property="og:title" content="Helm · Node Feature Discovery"> <meta property="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 ..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"> <meta property="og:type" content="article"> <meta property="article:author" content="Kubernetes SIGs"> <meta property="article:published_time" content="2016-07-23T05:07:52+00:00"> <meta property="article:modified_time" content="2024-12-13T11:23:21+00:00"> <script type="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> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="prev" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/kustomize.html"><link rel="next" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/operator.html"><link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.16/deployment/helm.html"><link rel="icon" type="image/svg+xml" href="/node-feature-discovery/v0.16/assets/images/favicon.svg"><link rel="icon" type="image/png" href="/node-feature-discovery/v0.16/assets/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.16/assets/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.16/assets/images/favicon-96x96.png" sizes="96x96"><link rel="mask-icon" href="/node-feature-discovery/v0.16/assets/images/favicon.svg" color="#2980b9"><link rel="apple-touch-icon" href="/node-feature-discovery/v0.16/assets/images/apple-touch-icon-300x300.jpg"> <link rel="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: "Node Feature Discovery", baseurl: "/node-feature-discovery/v0.16", i18n: { search_results: "Search Results", search_results_found: "Search finished, found # page(s) matching the search query.", search_r
helm repo add nfd https://kubernetes-sigs.github.io/node-feature-discovery/charts
helm repo update
helm <span class="nb">install </span>nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--create-namespace</span> <span class="nt">--generate-name</span>
</code></pre> </div></div> <p>To install the latest development version you need to clone the NFD Git repository and install from there.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/kubernetes-sigs/node-feature-discovery/
<span class="nb">cd </span>node-feature-discovery/deployment/helm
<span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
helm <span class="nb">install </span>node-feature-discovery ./node-feature-discovery/ <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--create-namespace</span>
</code></pre> </div></div> <p>See the <a href="#configuration">configuration</a> section below for instructions how to alter the deployment parameters.</p> <h2 id="configuration">Configuration</h2> <p>You can override values from <code class="language-plaintext highlighter-rouge notranslate">values.yaml</code> and provide a file with custom values:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
helm <span class="nb">install </span>nfd/node-feature-discovery <span class="nt">-f</span> &lt;path/to/custom/values.yaml&gt; <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--create-namespace</span>
</code></pre> </div></div> <p>To specify each parameter separately you can provide them to helm install command:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
helm <span class="nb">install </span>nfd/node-feature-discovery <span class="nt">--set</span> <span class="nv">nameOverride</span><span class="o">=</span>NFDinstance <span class="nt">--set</span> master.replicaCount<span class="o">=</span>2 <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--create-namespace</span>
</code></pre> </div></div> <h2 id="upgrading-the-chart">Upgrading the chart</h2> <p>To upgrade the <code class="language-plaintext highlighter-rouge notranslate">node-feature-discovery</code> deployment to v0.16.6 via Helm.</p> <h3 id="from-v07-and-older">From v0.7 and older</h3> <p>Please see the <a href="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 <a href="#deployment">deployment instructions</a>.</p> <h3 id="from-v08---v011">From v0.8 - v0.11</h3> <p>Helm deployment of NFD was introduced in v0.8.0.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
<span class="c"># Uninstall the old NFD deployment</span>
helm uninstall node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span>
<span class="c"># Update Helm repository</span>
helm repo update
<span class="c"># Install the new NFD deployment</span>
helm upgrade <span class="nt">--install</span> node-feature-discovery nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--set</span> master.enable<span class="o">=</span><span class="nb">false</span>
<span class="c"># Wait for NFD Worker to be ready</span>
kubectl <span class="nb">wait</span> <span class="nt">--timeout</span><span class="o">=</span><span class="nt">-1s</span> <span class="nt">--for</span><span class="o">=</span><span class="nv">condition</span><span class="o">=</span>ready pod <span class="nt">-l</span> app.kubernetes.io/name<span class="o">=</span>node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span>
<span class="c"># Enable the NFD Master</span>
helm upgrade <span class="nt">--install</span> node-feature-discovery nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--set</span> master.enable<span class="o">=</span><span class="nb">true</span>
</code></pre> </div></div> <h3 id="from-v012---v013">From v0.12 - v0.13</h3> <p>In v0.12 the <code class="language-plaintext highlighter-rouge notranslate">NodeFeature</code> CRD was introduced as experimental. The API was not enabled by default.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
<span class="c"># Update Helm repository</span>
helm repo update
<span class="c"># Install and upgrade CRD's</span>
kubectl apply <span class="nt">-f</span> https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/master/deployment/base/nfd-crds/nfd-api-crds.yaml
<span class="c"># Install the new NFD deployment</span>
helm upgrade node-feature-discovery nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--set</span> master.enable<span class="o">=</span><span class="nb">false</span>
<span class="c"># Wait for NFD Worker to be ready</span>
kubectl <span class="nb">wait</span> <span class="nt">--timeout</span><span class="o">=</span><span class="nt">-1s</span> <span class="nt">--for</span><span class="o">=</span><span class="nv">condition</span><span class="o">=</span>ready pod <span class="nt">-l</span> app.kubernetes.io/name<span class="o">=</span>node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span>
<span class="c"># Enable the NFD Master</span>
helm upgrade node-feature-discovery nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span> <span class="nt">--set</span> master.enable<span class="o">=</span><span class="nb">true</span>
</code></pre> </div></div> <h3 id="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 <code class="language-plaintext highlighter-rouge notranslate">NodeFeature</code> is enabled by default.</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
<span class="c"># Update Helm repository</span>
helm repo update
<span class="c"># Install and upgrade CRD's</span>
kubectl apply <span class="nt">-f</span> https://raw.githubusercontent.com/kubernetes-sigs/node-feature-discovery/v0.16.6/deployment/base/nfd-crds/nfd-api-crds.yaml
<span class="c"># Install the new NFD deployment</span>
helm upgrade node-feature-discovery nfd/node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span>
</code></pre> </div></div> <h2 id="uninstalling-the-chart">Uninstalling the chart</h2> <p>To uninstall the <code class="language-plaintext highlighter-rouge notranslate">node-feature-discovery</code> deployment:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nb">export </span><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
helm uninstall node-feature-discovery <span class="nt">--namespace</span> <span class="nv">$NFD_NS</span>
</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> <h2 id="chart-parameters">Chart parameters</h2> <p>To tailor the deployment of the Node Feature Discovery to your needs following Chart parameters are available.</p> <h3 id="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><code class="language-plaintext highlighter-rouge notranslate">image.repository</code></td> <td>string</td> <td><code class="language-plaintext highlighter-rouge notranslate">registry.k8s.io/nfd/node-feature-discovery</code></td> <td>NFD image repository</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">image.tag</code></td> <td>string</td> <td><code class="language-plaintext highlighter-rouge notranslate">v0.16.6</code></td> <td>NFD image tag</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">image.pullPolicy</code></td> <td>string</td> <td><code class="language-plaintext highlighter-rouge notranslate">Always</code></td> <td>Image pull policy</td> </tr> <tr> <td><code class="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. <a href="https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod">More info</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">nameOverride</code></td> <td>string</td> <td> </td> <td>Override the name of the chart</td> </tr> <tr> <td><code class="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><code class="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><code class="language-plaintext highlighter-rouge notranslate">tls.certManager</code></td> <td>bool</td> <td>false</td> <td>If enabled, requires <a href="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><code class="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><code class="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 <code class="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><code class="language-plaintext highlighter-rouge notranslate">featureGates.NodeFeatureAPI</code></td> <td>bool</td> <td>true</td>