1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2024-12-14 11:57:51 +00:00
node-feature-discovery/v0.15/deployment/helm.html
Github Actions 915d51aff1 Update documentation for v0.15
Auto-generated from v0.15.7 by 'update-gh-pages.sh'
2024-10-23 18:21:57 +00:00

15 lines
No EOL
46 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 Uninstalling the chart Chart parameters General parameters Master pod..."> <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 Uninstalling the chart Chart parameters General parameters Master pod..."> <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.15/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 Uninstalling the chart Chart parameters General parameters Master pod..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.15/deployment/helm.html"> <meta property="og:type" content="article"> <meta property="article:author" content="kubernetes-sigs"> <meta property="article:published_time" content="2024-10-23T18:21:52+00:00"> <meta property="article:modified_time" content="2024-10-23T18:21:52+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.15/deployment/helm.html" }, "headline": "Helm · Node Feature Discovery", "image": [], "author": { "@type": "Person", "name": "kubernetes-sigs" }, "datePublished": "2024-10-23T18:21:52+00:00", "dateModified": "2024-10-23T18:21:52+00:00", "publisher": { "@type": "", "name": "kubernetes-sigs", "logo": { "@type": "ImageObject", "url": "" } }, "description": "Deployment with Helm Table of contents Prerequisites Deployment Configuration Uninstalling the chart Chart parameters General parameters Master pod..." } </script> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="prev" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.15/deployment/kustomize.html"><link rel="next" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.15/deployment/operator.html"><link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.15/deployment/helm.html"><link rel="icon" type="image/svg+xml" href="/node-feature-discovery/v0.15/assets/images/favicon.svg"><link rel="icon" type="image/png" href="/node-feature-discovery/v0.15/assets/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.15/assets/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.15/assets/images/favicon-96x96.png" sizes="96x96"><link rel="mask-icon" href="/node-feature-discovery/v0.15/assets/images/favicon.svg" color="#2980b9"><link rel="apple-touch-icon" href="/node-feature-discovery/v0.15/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.15", i18n: { search_results: "Search Results", search_results_found: "Search finished, found # page(s) matching the search query.", search_results_not_found: "Your search did not match any documents, please make sure that all characters are spelled correctly!" } }; </script> </head> <body class="container"><div class="sidebar-wrap overflow-hidden"> <div class="sidebar height-full overflow-y-scroll overflow-x-hidden"> <div class="header d-flex flex-column p-3 text-center"> <div class="title pb-1"> <a class="h4 no-underline py-1 px-2 rounded-1" href="/node-feature-discovery/v0.15/" title="Documentation of Node Feature Discovery - a Kubernetes add-on for discovering and advertising hardware features and system configuration in the cluster."> <i class="fa fa-home"></i> Node Feature Discovery </a> </div> <span class="version">v0.15.7</span> <form class="search pt-2" action="/node-feature-discovery/v0.15/search.html" method="get" autocomplete="off"> <input class="form-control input-block input-sm" type="text" name="q" placeholder="Search docs..."> </form> </div> <div class="toctree py-2" data-spy="affix" role="navigation" aria-label="main navigation"> <ul> </ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/get-started/"> Get started </a><ul> <li class="toc level-1 " data-sort="1" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/get-started/introduction.html">1. Introduction</a> </li> <li class="toc level-1 " data-sort="2" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/get-started/quick-start.html">2. Quick start</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/deployment/"> Deployment </a><ul> <li class="toc level-1 " data-sort="1" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/image-variants.html">1. Image variants</a> </li> <li class="toc level-1 " data-sort="2" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/kustomize.html">2. Kustomize</a> </li> <li class="toc level-1 current" data-sort="3" data-level="1"> <a class="d-flex flex-items-baseline current" href="/node-feature-discovery/v0.15/deployment/helm.html">3. Helm</a> </li> <li class="toc level-1 " data-sort="4" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/operator.html">4. NFD Operator</a> </li> <li class="toc level-1 " data-sort="5" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/tls.html">5. TLS authentication</a> </li> <li class="toc level-1 " data-sort="6" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/uninstallation.html">6. Uninstallation</a> </li> <li class="toc level-1 " data-sort="7" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/deployment/metrics.html">7. Metrics</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/usage/"> Usage </a><ul> <li class="toc level-1 " data-sort="1" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/features.html">1. Feature labels</a> </li> <li class="toc level-1 " data-sort="2" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/using-labels.html">2. Using node labels</a> </li> <li class="toc level-1 " data-sort="3" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/nfd-master.html">3. NFD-Master</a> </li> <li class="toc level-1 " data-sort="4" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/nfd-worker.html">4. NFD-Worker</a> </li> <li class="toc level-1 " data-sort="5" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/nfd-topology-updater.html">5. NFD-Topology-Updater</a> </li> <li class="toc level-1 " data-sort="6" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/nfd-gc.html">6. NFD-Garbage-Collector</a> </li> <li class="toc level-1 " data-sort="7" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/custom-resources.html">7. CRDs</a> </li> <li class="toc level-1 " data-sort="8" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/customization-guide.html">8. Customization guide</a> </li> <li class="toc level-1 " data-sort="9" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/examples-and-demos.html">9. Examples and demos</a> </li> <li class="toc level-1 " data-sort="10" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/usage/kubectl-plugin.html">10. Kubectl plugin</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/reference/"> Reference </a><ul> <li class="toc level-1 " data-sort="1" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/master-commandline-reference.html">1. Master cmdline reference</a> </li> <li class="toc level-1 " data-sort="2" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/worker-commandline-reference.html">2. Worker cmdline reference</a> </li> <li class="toc level-1 " data-sort="3" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/master-configuration-reference.html">3. Master config reference</a> </li> <li class="toc level-1 " data-sort="4" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/worker-configuration-reference.html">4. Worker config reference</a> </li> <li class="toc level-1 " data-sort="5" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/topology-updater-commandline-reference.html">5. Topology Updater Cmdline Reference</a> </li> <li class="toc level-1 " data-sort="6" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/topology-updater-configuration-reference.html">6. Topology-Updater config reference</a> </li> <li class="toc level-1 " data-sort="7" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/gc-commandline-reference.html">7. Garbage Collector Cmdline Reference</a> </li> <li class="toc level-1 " data-sort="8" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/plugin-commandline-reference.html">8. Kubectl plugin cmdline reference</a> </li> <li class="toc level-1 " data-sort="9" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/v0.15/reference/versions.html">9. Versions</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/developer-guide/"> Developer guide </a><ul> </ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.15/contributing/"> Contributing </a><ul> </ul> </div> </div> </div> <div class="content-wrap"> <div class="header d-flex flex-justify-between p-2 hide-lg hide-xl" aria-label="top navigation"> <button id="toggle" aria-label="Toggle menu" class="btn-octicon p-2 m-0 text-white" type="button"> <i class="fa fa-bars"></i> </button> <div class="title flex-1 d-flex flex-justify-center"> <a class="h4 no-underline py-1 px-2 rounded-1" href="/node-feature-discovery/v0.15/">Node Feature Discovery</a> </div> </div> <div class="content p-3 p-sm-5"> <div class="navigation-top d-flex flex-justify-between"> <ul class="breadcrumb" role="navigation" aria-label="breadcrumbs navigation"> <li class="breadcrumb-item"> <a class="no-underline" href="/node-feature-discovery/v0.15/" title="/"> <i class="fa fa-home"></i> </a> </li><li class="breadcrumb-item" ><a href="/node-feature-discovery/v0.15/deployment/">deployment</a></li><li class="breadcrumb-item" aria-current="page">helm.md</li></ul> <a class="edit" href="https://github.com/kubernetes-sigs/node-feature-discovery/edit/gh-pages/deployment/helm.md" title="Edit on GitHub" rel="noreferrer" target="_blank"> <i class="fa fa-edit"></i> </a> </div> <hr> <div role="main" itemscope="itemscope" itemtype="https://schema.org/Article"> <div class="markdown-body" itemprop="articleBody"> <h1 class="no_toc" id="deployment-with-helm">Deployment with Helm</h1> <h2 class="no_toc text-delta" id="table-of-contents">Table of contents</h2> <ol id="markdown-toc"> <li><a href="#prerequisites" id="markdown-toc-prerequisites">Prerequisites</a></li> <li><a href="#deployment" id="markdown-toc-deployment">Deployment</a></li> <li><a href="#configuration" id="markdown-toc-configuration">Configuration</a></li> <li><a href="#uninstalling-the-chart" id="markdown-toc-uninstalling-the-chart">Uninstalling the chart</a></li> <li><a href="#chart-parameters" id="markdown-toc-chart-parameters">Chart parameters</a> <ol> <li><a href="#general-parameters" id="markdown-toc-general-parameters">General parameters</a></li> <li><a href="#master-pod-parameters" id="markdown-toc-master-pod-parameters">Master pod parameters</a></li> <li><a href="#worker-pod-parameters" id="markdown-toc-worker-pod-parameters">Worker pod parameters</a></li> <li><a href="#topology-updater-parameters" id="markdown-toc-topology-updater-parameters">Topology updater parameters</a></li> <li><a href="#garbage-collector-parameters" id="markdown-toc-garbage-collector-parameters">Garbage collector parameters</a></li> </ol> </li> </ol> <hr /> <p>Node Feature Discovery provides a Helm chart to manage its deployment.</p> <blockquote> <p><strong>NOTE:</strong> NFD is not ideal for other Helm charts to depend on as that may result in multiple parallel NFD deployments in the same cluster which is not fully supported by the NFD Helm chart.</p> </blockquote> <h2 id="prerequisites">Prerequisites</h2> <p><a href="https://helm.sh/">Helm package manager</a> should be installed.</p> <h2 id="deployment">Deployment</h2> <p>To install the latest stable version:</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 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="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.</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.15.7</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">enableNodeFeatureApi</code></td> <td>bool</td> <td>true</td> <td>Enable the <a href="/node-feature-discovery/v0.15/usage/custom-resources.html#nodefeature">NodeFeature</a> CRD API for communicating node features. This will automatically disable the gRPC communication. <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">prometheus.enable</code></td> <td>bool</td> <td>false</td> <td>Specifies whether to expose metrics using prometheus operator</td> </tr> <tr> <td><code class="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> </tbody> </table> <p>Metrics are configured to be exposed using prometheus operator API's by default. If you want to expose metrics using the prometheus operator API's you need to install the prometheus operator in your cluster.</p> <h3 id="master-pod-parameters">Master pod 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">master.*</code></td> <td>dict</td> <td> </td> <td>NFD master deployment configuration</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.enable</code></td> <td>bool</td> <td>true</td> <td>Specifies whether nfd-master should be deployed</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.port</code></td> <td>integer</td> <td> </td> <td>Specifies the TCP port that nfd-master listens for incoming requests. <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">master.metricsPort</code></td> <td>integer</td> <td>8081</td> <td>Port on which to expose metrics from components to prometheus operator</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.instance</code></td> <td>string</td> <td> </td> <td>Instance name. Used to separate annotation namespaces for multiple parallel deployments</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.resyncPeriod</code></td> <td>string</td> <td> </td> <td>NFD API controller resync period.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.extraLabelNs</code></td> <td>array</td> <td>[]</td> <td>List of allowed extra label namespaces</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.resourceLabels</code></td> <td>array</td> <td>[]</td> <td>List of labels to be registered as extended resources</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.enableTaints</code></td> <td>bool</td> <td>false</td> <td>Specifies whether to enable or disable node tainting</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.crdController</code></td> <td>bool</td> <td>null</td> <td>Specifies whether the NFD CRD API controller is enabled. If not set, controller will be enabled if <code class="language-plaintext highlighter-rouge notranslate">master.instance</code> is empty.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.featureRulesController</code></td> <td>bool</td> <td>null</td> <td>DEPRECATED: use <code class="language-plaintext highlighter-rouge notranslate">master.crdController</code> instead</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.replicaCount</code></td> <td>integer</td> <td>1</td> <td>Number of desired pods. This is a pointer to distinguish between explicit zero and not specified</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.podSecurityContext</code></td> <td>dict</td> <td>{}</td> <td><a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod">PodSecurityContext</a> holds pod-level security attributes and common container settings</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.securityContext</code></td> <td>dict</td> <td>{}</td> <td>Container <a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container">security settings</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.serviceAccount.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether a service account should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.serviceAccount.annotations</code></td> <td>dict</td> <td>{}</td> <td>Annotations to add to the service account</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.serviceAccount.name</code></td> <td>string</td> <td> </td> <td>The name of the service account to use. If not set and create is true, a name is generated using the fullname template</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.rbac.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether to create <a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/">RBAC</a> configuration for nfd-master</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.service.type</code></td> <td>string</td> <td>ClusterIP</td> <td>NFD master service type. <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">master.service.port</code></td> <td>integer</td> <td>8080</td> <td>NFD master service port. <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">master.resources</code></td> <td>dict</td> <td>{}</td> <td>NFD master pod <a href="https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/">resources management</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.nodeSelector</code></td> <td>dict</td> <td>{}</td> <td>NFD master pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector">node selector</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.tolerations</code></td> <td>dict</td> <td><em>Scheduling to master node is disabled</em></td> <td>NFD master pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/">tolerations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.annotations</code></td> <td>dict</td> <td>{}</td> <td>NFD master pod <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.affinity</code></td> <td>dict</td> <td> </td> <td>NFD master pod required <a href="https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/">node affinity</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.deploymentAnnotations</code></td> <td>dict</td> <td>{}</td> <td>NFD master deployment <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.nfdApiParallelism</code></td> <td>integer</td> <td>10</td> <td>Specifies the maximum number of concurrent node updates.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">master.config</code></td> <td>dict</td> <td> </td> <td>NFD master <a href="../reference/master-configuration-reference">configuration</a></td> </tr> </tbody> </table> <h3 id="worker-pod-parameters">Worker pod 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">worker.*</code></td> <td>dict</td> <td> </td> <td>NFD worker daemonset configuration</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.enable</code></td> <td>bool</td> <td>true</td> <td>Specifies whether nfd-worker should be deployed</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.metricsPort*</code></td> <td>int</td> <td>8081</td> <td>Port on which to expose metrics from components to prometheus operator</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.config</code></td> <td>dict</td> <td> </td> <td>NFD worker <a href="../reference/worker-configuration-reference">configuration</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.podSecurityContext</code></td> <td>dict</td> <td>{}</td> <td><a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod">PodSecurityContext</a> holds pod-level security attributes and common container settings</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.securityContext</code></td> <td>dict</td> <td>{}</td> <td>Container <a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container">security settings</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.serviceAccount.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether a service account for nfd-worker should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.serviceAccount.annotations</code></td> <td>dict</td> <td>{}</td> <td>Annotations to add to the service account for nfd-worker</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.serviceAccount.name</code></td> <td>string</td> <td> </td> <td>The name of the service account to use for nfd-worker. If not set and create is true, a name is generated using the fullname template (suffixed with <code class="language-plaintext highlighter-rouge notranslate">-worker</code>)</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.rbac.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether to create <a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/">RBAC</a> configuration for nfd-worker</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.mountUsrSrc</code></td> <td>bool</td> <td>false</td> <td>Specifies whether to allow users to mount the hostpath /user/src. Does not work on systems without /usr/src AND a read-only /usr</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.resources</code></td> <td>dict</td> <td>{}</td> <td>NFD worker pod <a href="https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/">resources management</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.nodeSelector</code></td> <td>dict</td> <td>{}</td> <td>NFD worker pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector">node selector</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.tolerations</code></td> <td>dict</td> <td>{}</td> <td>NFD worker pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/">node tolerations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.priorityClassName</code></td> <td>string</td> <td> </td> <td>NFD worker pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/">priority class</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.annotations</code></td> <td>dict</td> <td>{}</td> <td>NFD worker pod <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">worker.daemonsetAnnotations</code></td> <td>dict</td> <td>{}</td> <td>NFD worker daemonset <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> </tbody> </table> <h3 id="topology-updater-parameters">Topology updater 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">topologyUpdater.*</code></td> <td>dict</td> <td> </td> <td>NFD Topology Updater configuration</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.enable</code></td> <td>bool</td> <td>false</td> <td>Specifies whether the NFD Topology Updater should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.createCRDs</code></td> <td>bool</td> <td>false</td> <td>Specifies whether the NFD Topology Updater CRDs should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.serviceAccount.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether the service account for topology updater should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.serviceAccount.annotations</code></td> <td>dict</td> <td>{}</td> <td>Annotations to add to the service account for topology updater</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.serviceAccount.name</code></td> <td>string</td> <td> </td> <td>The name of the service account for topology updater to use. If not set and create is true, a name is generated using the fullname template and <code class="language-plaintext highlighter-rouge notranslate">-topology-updater</code> suffix</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.rbac.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether to create <a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/">RBAC</a> configuration for topology updater</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.metricsPort</code></td> <td>integer</td> <td>8081</td> <td>Port on which to expose prometheus metrics</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.kubeletConfigPath</code></td> <td>string</td> <td>""</td> <td>Specifies the kubelet config host path</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.kubeletPodResourcesSockPath</code></td> <td>string</td> <td>""</td> <td>Specifies the kubelet sock path to read pod resources</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.updateInterval</code></td> <td>string</td> <td>60s</td> <td>Time to sleep between CR updates. Non-positive value implies no CR update.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.watchNamespace</code></td> <td>string</td> <td><code class="language-plaintext highlighter-rouge notranslate">*</code></td> <td>Namespace to watch pods, <code class="language-plaintext highlighter-rouge notranslate">*</code> for all namespaces</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.podSecurityContext</code></td> <td>dict</td> <td>{}</td> <td><a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod">PodSecurityContext</a> holds pod-level security attributes and common container settings</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.securityContext</code></td> <td>dict</td> <td>{}</td> <td>Container <a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container">security settings</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.resources</code></td> <td>dict</td> <td>{}</td> <td>Topology updater pod <a href="https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/">resources management</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.nodeSelector</code></td> <td>dict</td> <td>{}</td> <td>Topology updater pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector">node selector</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.tolerations</code></td> <td>dict</td> <td>{}</td> <td>Topology updater pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/">node tolerations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.annotations</code></td> <td>dict</td> <td>{}</td> <td>Topology updater pod <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.daemonsetAnnotations</code></td> <td>dict</td> <td>{}</td> <td>Topology updater daemonset <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.affinity</code></td> <td>dict</td> <td>{}</td> <td>Topology updater pod <a href="https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/">affinity</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.config</code></td> <td>dict</td> <td> </td> <td><a href="../reference/topology-updater-configuration-reference">configuration</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.podSetFingerprint</code></td> <td>bool</td> <td>false</td> <td>Enables compute and report of pod fingerprint in NRT objects.</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">topologyUpdater.kubeletStateDir</code></td> <td>string</td> <td>/var/lib/kubelet</td> <td>Specifies kubelet state directory path for watching state and checkpoint files. Empty value disables kubelet state tracking.</td> </tr> </tbody> </table> <h3 id="garbage-collector-parameters">Garbage collector 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">gc.*</code></td> <td>dict</td> <td> </td> <td>NFD Garbage Collector configuration</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.enable</code></td> <td>bool</td> <td>true</td> <td>Specifies whether the NFD Garbage Collector should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.serviceAccount.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether the service account for garbage collector should be created</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.serviceAccount.annotations</code></td> <td>dict</td> <td>{}</td> <td>Annotations to add to the service account for garbage collector</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.serviceAccount.name</code></td> <td>string</td> <td> </td> <td>The name of the service account for garbage collector to use. If not set and create is true, a name is generated using the fullname template and <code class="language-plaintext highlighter-rouge notranslate">-gc</code> suffix</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.rbac.create</code></td> <td>bool</td> <td>true</td> <td>Specifies whether to create <a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/">RBAC</a> configuration for garbage collector</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.interval</code></td> <td>string</td> <td>1h</td> <td>Time between periodic garbage collector runs</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.podSecurityContext</code></td> <td>dict</td> <td>{}</td> <td><a href="https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod">PodSecurityContext</a> holds pod-level security attributes and common container settings</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.resources</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector pod <a href="https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/">resources management</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.metricsPort</code></td> <td>integer</td> <td>8081</td> <td>Port on which to serve Prometheus metrics</td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.nodeSelector</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector">node selector</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.tolerations</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector pod <a href="https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/">node tolerations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.annotations</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector pod <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.deploymentAnnotations</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector deployment <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a></td> </tr> <tr> <td><code class="language-plaintext highlighter-rouge notranslate">gc.affinity</code></td> <td>dict</td> <td>{}</td> <td>Garbage collector pod <a href="https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/">affinity</a></td> </tr> </tbody> </table> <!-- Links --> </div> </div> <div class="navigation-bottom d-flex flex-justify-between py-3" role="navigation" aria-label="footer navigation"> <div class="prev"><a href="/node-feature-discovery/v0.15/deployment/kustomize.html" class="btn" title="Kustomize" accesskey="p" rel="prev"> <i class="fa fa-arrow-circle-left"></i> Previous </a></div> <div class="next"><a href="/node-feature-discovery/v0.15/deployment/operator.html" class="btn" title="NFD Operator" accesskey="n" rel="next"> Next <i class="fa fa-arrow-circle-right"></i> </a></div> </div><hr> <div class="copyright text-center text-gray" role="contentinfo"> <i class="fa fa-copyright"></i> <span class="time">2024,</span> <a class="text-gray" href="https://github.com/kubernetes-sigs" rel="noreferrer" target="_blank">kubernetes-sigs</a> Revision <a class="text-gray" href="https://github.com/kubernetes-sigs/node-feature-discovery/commit/" title="" rel="noreferrer" target="_blank"></a> <br> <div class="generator"> Built with <a href="https://pages.github.com" rel="noreferrer" target="_blank" title="github-pages v228">GitHub Pages</a> using a <a href="https://github.com/rundocs/jekyll-rtd-theme" rel="noreferrer" target="_blank" title="jekyll-rtd-theme v2.0.10">theme</a> provided by <a href="https://rundocs.io" rel="noreferrer" target="_blank">RunDocs</a>. </div> </div> </div> </div> <div class="addons-wrap d-flex flex-column overflow-y-auto"> <div class="status d-flex flex-justify-between p-2"> <div class="title p-1"> <i class="fa fa-book"></i> Node Feature Discovery </div> <div class="branch p-1"> <span class="name"> v0.15 </span> <i class="fa fa-caret-down"></i> </div> </div> <div class="addons d-flex flex-column height-full p-2 d-none"> <dl id="versions"> <dt>Versions</dt> <script src="/node-feature-discovery/versions.js"></script> <script> var dt = document.getElementById('versions'); var items = getVersionListItems(); for (var i=0; i < items.length; i++) { var dd = document.createElement('dd'); var a = dd.appendChild(document.createElement('a')); a.appendChild(document.createTextNode(items[i].name)); a.href = items[i].url; dt.appendChild(dd); } </script> </dl> <dl> <dt>GitHub</dt> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery" title="Stars: "> <i class="fa fa-github"></i> Homepage </a> </dd> <dd> <a href="" title="Open issues: "> <i class="fa fa-question-circle-o"></i> Issues </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/zipball/gh-pages" title="Size: Kb"> <i class="fa fa-download"></i> Download </a> </dd> </dl> <hr> <div class="license f6 pb-2"> This <a href="/node-feature-discovery/v0.15/" title="Node Feature Discovery">Software</a> is under the terms of <a href="https://github.com/kubernetes-sigs/node-feature-discovery">The Unlicense</a>. </div> </div> </div> <script src="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.10/assets/js/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/gh/rundocs/jekyll-rtd-theme@2.0.10/assets/js/theme.min.js"></script> </body> </html>