</code></pre></div></div><h2id="extralabelns">extraLabelNs</h2><p><codeclass="language-plaintext highlighter-rouge notranslate">extraLabelNs</code> specifies a list of allowed feature label namespaces. This option can be used to allow other vendor or application specific namespaces for custom labels from the local and custom feature sources, even though these labels were denied using the <codeclass="language-plaintext highlighter-rouge notranslate">denyLabelNs</code> parameter.</p><p>The same namespace control and this option applies to Extended Resources (created with <codeclass="language-plaintext highlighter-rouge notranslate">resourceLabels</code>), too.</p><p>Default: <em>empty</em></p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">extraLabelNs</span><spanclass="pi">:</span><spanclass="pi">[</span><spanclass="s2">"</span><spanclass="s">added.ns.io"</span><spanclass="pi">,</span><spanclass="s2">"</span><spanclass="s">added.kubernets.io"</span><spanclass="pi">]</span>
</code></pre></div></div><h2id="denylabelns">denyLabelNs</h2><p><codeclass="language-plaintext highlighter-rouge notranslate">denyLabelNs</code> specifies a list of excluded label namespaces. By default, nfd-master allows creating labels in all namespaces, excluding <codeclass="language-plaintext highlighter-rouge notranslate">kubernetes.io</code> namespace and its sub-namespaces (i.e. <codeclass="language-plaintext highlighter-rouge notranslate">*.kubernetes.io</code>). However, you should note that <codeclass="language-plaintext highlighter-rouge notranslate">kubernetes.io</code> and its sub-namespaces are always denied. This option can be used to exclude some vendors or application specific namespaces.</p><p>Default: <em>empty</em></p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">denyLabelNs</span><spanclass="pi">:</span><spanclass="pi">[</span><spanclass="s2">"</span><spanclass="s">denied.ns.io"</span><spanclass="pi">,</span><spanclass="s2">"</span><spanclass="s">denied.kubernetes.io"</span><spanclass="pi">]</span>
</code></pre></div></div><h2id="autodefaultns">autoDefaultNs</h2><p>The <codeclass="language-plaintext highlighter-rouge notranslate">autoDefaultNs</code> option controls the automatic prefixing of names. When set to true (the default in NFD version v0.15) nfd-master automatically adds the default <codeclass="language-plaintext highlighter-rouge notranslate">feature.node.kubernetes.io/</code> prefix to unprefixed labels, annotations and extended resources - this is also the default behavior in NFD v0.15 and earlier. When the option is set to <codeclass="language-plaintext highlighter-rouge notranslate">false</code>, no prefix will be prepended to unprefixed names, effectively causing them to be filtered out (as NFD does not allow unprefixed names of labels, annotations or extended resources). The default will be changed to <codeclass="language-plaintext highlighter-rouge notranslate">false</code> in a future release.</p><p>For example, with the <codeclass="language-plaintext highlighter-rouge notranslate">autoDefaultNs</code> set to <codeclass="language-plaintext highlighter-rouge notranslate">true</code>, a NodeFeatureRule with</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">labels</span><spanclass="pi">:</span>
</code></pre></div></div><p>Will turn into <codeclass="language-plaintext highlighter-rouge notranslate">feature.node.kubernetes.io/foo=bar</code> node label. With <codeclass="language-plaintext highlighter-rouge notranslate">autoDefaultNs</code> set to <codeclass="language-plaintext highlighter-rouge notranslate">false</code>, no prefix is added and the label will be filtered out.</p><p>Note that taint keys are not affected by this option.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">true</code></p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">autoDefaultNs</span><spanclass="pi">:</span><spanclass="no">false</span>
</code></pre></div></div><h2id="resourcelabels">resourceLabels</h2><p><strong>DEPRECATED</strong>: <ahref="/node-feature-discovery/v0.15/usage/custom-resources.html#nodefeaturerule">NodeFeatureRule</a> should be used for managing extended resources in NFD.</p><p>The <codeclass="language-plaintext highlighter-rouge notranslate">resourceLabels</code> option specifies a list of features to be advertised as extended resources instead of labels. Features that have integer values can be published as Extended Resources by listing them in this option.</p><p>Default: <em>empty</em></p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">resourceLabels</span><spanclass="pi">:</span><spanclass="pi">[</span><spanclass="s2">"</span><spanclass="s">vendor-1.com/feature-1"</span><spanclass="pi">,</span><spanclass="s2">"</span><spanclass="s">vendor-2.io/feature-2"</span><spanclass="pi">]</span>
</code></pre></div></div><h2id="labelwhitelist">labelWhiteList</h2><p><codeclass="language-plaintext highlighter-rouge notranslate">labelWhiteList</code> specifies a regular expression for filtering feature labels based on their name. Each label must match against the given regular expression or it will not be published.</p><blockquote><p>** NOTE:** The regular expression is only matches against the "basename" part of the label, i.e. to the part of the name after ‘/'. The label namespace is omitted.</p></blockquote><p>Default: <em>empty</em></p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">labelWhiteList</span><spanclass="pi">:</span><spanclass="s2">"</span><spanclass="s">foo"</span>
</code></pre></div></div><h2id="resyncperiod">resyncPeriod</h2><p>The <codeclass="language-plaintext highlighter-rouge notranslate">resyncPeriod</code> option specifies the NFD API controller resync period. The resync means nfd-master replaying all NodeFeature and NodeFeatureRule objects, thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations, extended resources and taints are in place). Only has effect when the <ahref="/node-feature-discovery/v0.15/usage/custom-resources.html#nodefeature">NodeFeature</a> CRD API has been enabled with <ahref="/node-feature-discovery/v0.15/reference/master-commandline-reference.html#-enable-nodefeature-api"><codeclass="language-plaintext highlighter-rouge notranslate">-enable-nodefeature-api</code></a>.</p><p>Default: 1 hour.</p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">resyncPeriod</span><spanclass="pi">:</span><spanclass="s">2h</span>
</code></pre></div></div><h2id="leaderelection">leaderElection</h2><p>The <codeclass="language-plaintext highlighter-rouge notranslate">leaderElection</code> section exposes configuration to tweak leader election.</p><h3id="leaderelectionleaseduration">leaderElection.leaseDuration</h3><p><codeclass="language-plaintext highlighter-rouge notranslate">leaderElection.leaseDuration</code> is the duration that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack.</p><p>A client needs to wait a full LeaseDuration without observing a change to the record before it can attempt to take over. When all clients are shutdown and a new set of clients are started with different names against the same leader record, they must wait the full LeaseDuration before attempting to acquire the lease. Thus LeaseDuration should be as short as possible (within your tolerance for clock skew rate) to avoid a possible long waits in the scenario.</p><p>Default: 15 seconds.</p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">leaderElection</span><spanclass="pi">:</span>
</code></pre></div></div><h3id="leaderelectionrenewdeadline">leaderElection.renewDeadline</h3><p><codeclass="language-plaintext highlighter-rouge notranslate">leaderElection.renewDeadline</code> is the duration that the acting master will retry refreshing leadership before giving up.</p><p>This value has to be lower than leaseDuration and greater than retryPeriod*1.2.</p><p>Default: 10 seconds.</p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">leaderElection</span><spanclass="pi">:</span>
</code></pre></div></div><h3id="leaderelectionretryperiod">leaderElection.retryPeriod</h3><p><codeclass="language-plaintext highlighter-rouge notranslate">leaderElection.retryPeriod</code> is the duration the LeaderElector clients should wait between tries of actions.</p><p>It has to be greater than 0.</p><p>Default: 2 seconds.</p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">leaderElection</span><spanclass="pi">:</span>
</code></pre></div></div><h2id="nfdapiparallelism">nfdApiParallelism</h2><p>The <codeclass="language-plaintext highlighter-rouge notranslate">nfdApiParallelism</code> option can be used to specify the maximum number of concurrent node updates.</p><p>It takes effect only when <codeclass="language-plaintext highlighter-rouge notranslate">-enable-nodefeature-api</code> has been set.</p><p>Default: 10</p><p>Example:</p><divclass="language-yaml highlighter-rouge notranslate"><divclass="highlight"><preclass="highlight"><code><spanclass="na">nfdApiParallelism</span><spanclass="pi">:</span><spanclass="m">1</span>
</code></pre></div></div><h2id="klog">klog</h2><p>The following options specify the logger configuration. Most of which can be dynamically adjusted at run-time.</p><blockquote><p><strong>NOTE:</strong> The logger options can also be specified via command line flags which take precedence over any corresponding config file options.</p></blockquote><h3id="klogadddirheader">klog.addDirHeader</h3><p>If true, adds the file directory to the header of the log messages.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">false</code></p><p>Run-time configurable: yes</p><h3id="klogalsologtostderr">klog.alsologtostderr</h3><p>Log to standard error as well as files.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">false</code></p><p>Run-time configurable: yes</p><h3id="kloglogbacktraceat">klog.logBacktraceAt</h3><p>When logging hits line file:N, emit a stack trace.</p><p>Default: <em>empty</em></p><p>Run-time configurable: yes</p><h3id="kloglogdir">klog.logDir</h3><p>If non-empty, write log files in this directory.</p><p>Default: <em>empty</em></p><p>Run-time configurable: no</p><h3id="kloglogfile">klog.logFile</h3><p>If non-empty, use this log file.</p><p>Default: <em>empty</em></p><p>Run-time configurable: no</p><h3id="kloglogfilemaxsize">klog.logFileMaxSize</h3><p>Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">1800</code></p><p>Run-time configurable: no</p><h3id="kloglogtostderr">klog.logtostderr</h3><p>Log to standard error instead of files</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">true</code></p><p>Run-time configurable: yes</p><h3id="klogskipheaders">klog.skipHeaders</h3><p>If true, avoid header prefixes in the log messages.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">false</code></p><p>Run-time configurable: yes</p><h3id="klogskiplogheaders">klog.skipLogHeaders</h3><p>If true, avoid headers when opening log files.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">false</code></p><p>Run-time configurable: no</p><h3id="klogstderrthreshold">klog.stderrthreshold</h3><p>Logs at or above this threshold go to stderr (default 2)</p><p>Run-time configurable: yes</p><h3id="klogv">klog.v</h3><p>Number for the log level verbosity.</p><p>Default: <codeclass="language-plaintext highlighter-rouge notranslate">0</code></p><p>Run-time configurable: yes</p><h3id="klogvmodule">klog.vmodule</h3><p>Comma-separated list of <codeclass="language-plaintext highlighter-rouge notranslate">pattern=N</code> settings for file-filtered logging.</p><p>Default: <em>empty</em></p><p>Run-time configurable: yes</p></div></div><divclass="navigation-bottom d-flex flex-justify-between py-3"role="navigation"aria-label="footer navigation"><divclass="prev"><ahref="/node-feature-discovery/v0.15/reference/worker-commandline-reference.html"class="btn"title="Worker cmdline reference"accesskey="p"rel="prev"><iclass="fa fa-arrow-circle-left"></i> Previous </a></div><divclass="next"><ahref="/node-feature-discovery/v0.15/reference/worker-configuration-reference.html"class="btn"title="Worker config reference"accesskey="n"rel="next"> Next <iclass="fa fa-arrow-circle-right"></i></a></div></div><hr><divclass="copyright text-center text-gray"role="contentinfo"><iclass="fa fa-copyright"></i><spanclass="time">2024,</span><aclass="text-gray"href="https://github.com/kubernetes-sigs"rel="noreferrer"target="_blank">kubernetes-sigs</a> Revision <aclass="text-gray"href="https://github.com/kubernetes-sigs/node-feature-discovery/commit/"title=""rel="noreferrer"target="_blank"></a><br><divclass="generator"> Built with <ahref="https://pages.github.com"rel="noreferrer"target="_blank"title="github-pages v228">GitHub Pages</a> using a <ahref="https://github.com/rundocs/jekyll