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.11/get-started/features.html
Github Actions 4db8cf91e5 Update documentation for v0.11
Auto-generated from v0.11.1-6-g0e872e3 by 'update-gh-pages.sh'
2022-06-08 07:53:29 +00:00

4 lines
No EOL
34 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. 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="Feature labels Table of contents Built-in labels CPU IOMMU (deprecated) Kernel Memory Network PCI USB Storage System Custom User defined labels Ext..."> <meta name="revised" content=""> <meta name="author" content="Kubernetes SIGs"> <meta name="generator" content="rundocs/jekyll-rtd-theme v2.0.10"><meta name="theme-color" content="#2980b9"> <title>Feature labels · Node Feature Discovery</title> <meta name="twitter:title" content="Feature labels · Node Feature Discovery"> <meta name="twitter:description" content="Feature labels Table of contents Built-in labels CPU IOMMU (deprecated) Kernel Memory Network PCI USB Storage System Custom User defined labels Ext..."> <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.11/get-started/features.html"> <meta name="twitter:creator" content="@rundocs/jekyll-rtd-theme v2.0.10"> <meta property="og:title" content="Feature labels · Node Feature Discovery"> <meta property="og:description" content="Feature labels Table of contents Built-in labels CPU IOMMU (deprecated) Kernel Memory Network PCI USB Storage System Custom User defined labels Ext..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/v0.11/get-started/features.html"> <meta property="og:type" content="article"> <meta property="article:author" content="Kubernetes SIGs"> <meta property="article:published_time" content="2016-07-23T00:07:52-05:00"> <meta property="article:modified_time" content="2022-06-08T02:53:18-05: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.11/get-started/features.html" }, "headline": "Feature labels · Node Feature Discovery", "image": [], "author": { "@type": "Person", "name": "Kubernetes SIGs" }, "datePublished": "2016-07-23T00:07:52-05:00", "dateModified": "2022-06-08T02:53:18-05:00", "publisher": { "@type": "Organization", "name": "Kubernetes SIGs", "logo": { "@type": "ImageObject", "url": "https://avatars.githubusercontent.com/u/36015203?v=4" } }, "description": "Feature labels Table of contents Built-in labels CPU IOMMU (deprecated) Kernel Memory Network PCI USB Storage System Custom User defined labels Ext..." } </script> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="prev" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.11/get-started/deployment-and-usage.html"><link rel="next" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.11/get-started/examples-and-demos.html"><link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/v0.11/get-started/features.html"><link rel="icon" type="image/svg+xml" href="/node-feature-discovery/v0.11/assets/images/favicon.svg"><link rel="icon" type="image/png" href="/node-feature-discovery/v0.11/assets/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.11/assets/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/node-feature-discovery/v0.11/assets/images/favicon-96x96.png" sizes="96x96"><link rel="mask-icon" href="/node-feature-discovery/v0.11/assets/images/favicon.svg" color="#2980b9"><link rel="apple-touch-icon" href="/node-feature-discovery/v0.11/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.11", 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.11/" 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.11.1</span> <form class="search pt-2" action="/node-feature-discovery/v0.11/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.11/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.11/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.11/get-started/quick-start.html">2. Quick start</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.11/get-started/deployment-and-usage.html">3. Deployment and usage</a> </li> <li class="toc level-1 current" data-sort="4" data-level="1"> <a class="d-flex flex-items-baseline current" href="/node-feature-discovery/v0.11/get-started/features.html">4. Feature labels</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.11/get-started/examples-and-demos.html">5. Examples and demos</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.11/advanced/"> Advanced </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.11/advanced/developer-guide.html">1. Developer guide</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.11/advanced/master-commandline-reference.html">2. Master 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.11/advanced/worker-commandline-reference.html">3. Worker cmdline 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.11/advanced/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.11/advanced/topology-updater-commandline-reference.html">5. Topology Updater Cmdline 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.11/advanced/customization-guide.html">5. Customization guide</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/v0.11/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.11/">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.11/" title="/"> <i class="fa fa-home"></i> </a> </li><li class="breadcrumb-item" ><a href="/node-feature-discovery/v0.11/get-started/">get-started</a></li><li class="breadcrumb-item" aria-current="page">features.md</li></ul> <a class="edit" href="https://github.com/kubernetes-sigs/node-feature-discovery/edit/gh-pages/get-started/features.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="feature-labels">Feature labels</h1> <h2 class="no_toc text-delta" id="table-of-contents">Table of contents</h2> <ol id="markdown-toc"> <li><a href="#built-in-labels" id="markdown-toc-built-in-labels">Built-in labels</a> <ol> <li><a href="#cpu" id="markdown-toc-cpu">CPU</a></li> <li><a href="#iommu-deprecated" id="markdown-toc-iommu-deprecated">IOMMU (deprecated)</a></li> <li><a href="#kernel" id="markdown-toc-kernel">Kernel</a></li> <li><a href="#memory" id="markdown-toc-memory">Memory</a></li> <li><a href="#network" id="markdown-toc-network">Network</a></li> <li><a href="#pci" id="markdown-toc-pci">PCI</a></li> <li><a href="#usb" id="markdown-toc-usb">USB</a></li> <li><a href="#storage" id="markdown-toc-storage">Storage</a></li> <li><a href="#system" id="markdown-toc-system">System</a></li> <li><a href="#custom" id="markdown-toc-custom">Custom</a></li> </ol> </li> <li><a href="#user-defined-labels" id="markdown-toc-user-defined-labels">User defined labels</a></li> <li><a href="#extended-resources" id="markdown-toc-extended-resources">Extended resources</a></li> </ol> <hr /> <p>Features are advertised as labels in the Kubernetes Node object.</p> <h2 id="built-in-labels">Built-in labels</h2> <p>Label creation in nfd-worker is performed by a set of separate modules called label sources. The <a href="../advanced/worker-configuration-reference#corelabelsources"><code class="language-plaintext highlighter-rouge notranslate">core.labelSources</code></a> configuration option (or <a href="../advanced/worker-commandline-reference#-label-sources"><code class="language-plaintext highlighter-rouge notranslate">-label-sources</code></a> flag) of nfd-worker controls which sources to enable for label generation.</p> <p>All built-in labels use the <code class="language-plaintext highlighter-rouge notranslate">feature.node.kubernetes.io</code> label namespace and have the following format.</p> <div class="language-plaintext highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>feature.node.kubernetes.io/&lt;feature&gt; = &lt;value&gt;
</code></pre> </div></div> <p><em>Note: Consecutive runs of nfd-worker will update the labels on a given node. If features are not discovered on a consecutive run, the corresponding label will be removed. This includes any restrictions placed on the consecutive run, such as restricting discovered features with the -label-whitelist option.</em></p> <h3 id="cpu">CPU</h3> <table> <thead> <tr> <th>Feature name</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-cpuid.&lt;cpuid-flag&gt;</code></strong></td> <td>true</td> <td>CPU capability is supported. <strong>NOTE:</strong> the capability might be supported but not enabled.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-hardware_multithreading</code></strong></td> <td>true</td> <td>Hardware multithreading, such as Intel HTT, enabled (number of logical CPUs is greater than physical CPUs)</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-power.sst_bf.enabled</code></strong></td> <td>true</td> <td>Intel SST-BF (<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/speed-select-technology-article.html">Intel Speed Select Technology</a> - Base frequency) enabled</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-pstate.status</code></strong></td> <td>string</td> <td>The status of the <a href="https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt">Intel pstate</a> driver when in use and enabled, either active' or passive'.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-pstate.turbo</code></strong></td> <td>bool</td> <td>Set to true' if turbo frequencies are enabled in Intel pstate driver, set to false' if they have been disabled.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-pstate.scaling_governor</code></strong></td> <td>string</td> <td>The value of the Intel pstate scaling_governor when in use, either powersave' or performance'.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-cstate.enabled</code></strong></td> <td>bool</td> <td>Set to true' if cstates are set in the intel_idle driver, otherwise set to false'. Unset if intel_idle cpuidle driver is not active.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-rdt.&lt;rdt-flag&gt;</code></strong></td> <td>true</td> <td><a href="http://www.intel.com/content/www/us/en/architecture-and-technology/resource-director-technology.html">Intel RDT</a> capability is supported. See <a href="#intel-rdt-flags">RDT flags</a> for details.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-sgx.enabled</code></strong></td> <td>true</td> <td>Set to true' if Intel SGX is enabled in BIOS (based a non-zero sum value of SGX EPC section sizes).</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-se.enabled</code></strong></td> <td>true</td> <td>Set to true' if IBM Secure Execution for Linux (IBM Z &amp; LinuxONE) is available and enabled (requires <code class="language-plaintext highlighter-rouge notranslate">/sys/firmware/uv/prot_virt_host</code> facility)</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-model.vendor_id</code></strong></td> <td>string</td> <td>Comparable CPU vendor ID.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-model.family</code></strong></td> <td>int</td> <td>CPU family.</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">cpu-model.id</code></strong></td> <td>int</td> <td>CPU model number.</td> </tr> </tbody> </table> <p>The CPU label source is configurable, see <a href="deployment-and-usage#worker-configuration">worker configuration</a> and <a href="../advanced/worker-configuration-reference#sourcescpu"><code class="language-plaintext highlighter-rouge notranslate">sources.cpu</code></a> configuration options for details.</p> <h4 id="x86-cpuid-flags-partial-list">X86 CPUID flags (partial list)</h4> <table> <thead> <tr> <th>Flag</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>ADX</td> <td>Multi-Precision Add-Carry Instruction Extensions (ADX)</td> </tr> <tr> <td>AESNI</td> <td>Advanced Encryption Standard (AES) New Instructions (AES-NI)</td> </tr> <tr> <td>AVX</td> <td>Advanced Vector Extensions (AVX)</td> </tr> <tr> <td>AVX2</td> <td>Advanced Vector Extensions 2 (AVX2)</td> </tr> <tr> <td>AMXBF16</td> <td>Advanced Matrix Extension, tile multiplication operations on BFLOAT16 numbers</td> </tr> <tr> <td>AMXINT8</td> <td>Advanced Matrix Extension, tile multiplication operations on 8-bit integers</td> </tr> <tr> <td>AMXTILE</td> <td>Advanced Matrix Extension, base tile architecture support</td> </tr> <tr> <td>AVX512BF16</td> <td>AVX-512 BFLOAT16 instructions</td> </tr> <tr> <td>AVX512BITALG</td> <td>AVX-512 bit Algorithms</td> </tr> <tr> <td>AVX512BW</td> <td>AVX-512 byte and word Instructions</td> </tr> <tr> <td>AVX512CD</td> <td>AVX-512 conflict detection instructions</td> </tr> <tr> <td>AVX512DQ</td> <td>AVX-512 doubleword and quadword instructions</td> </tr> <tr> <td>AVX512ER</td> <td>AVX-512 exponential and reciprocal instructions</td> </tr> <tr> <td>AVX512F</td> <td>AVX-512 foundation</td> </tr> <tr> <td>AVX512FP16</td> <td>AVX-512 FP16 instructions</td> </tr> <tr> <td>AVX512IFMA</td> <td>AVX-512 integer fused multiply-add instructions</td> </tr> <tr> <td>AVX512PF</td> <td>AVX-512 prefetch instructions</td> </tr> <tr> <td>AVX512VBMI</td> <td>AVX-512 vector bit manipulation instructions</td> </tr> <tr> <td>AVX512VBMI2</td> <td>AVX-512 vector bit manipulation instructions, version 2</td> </tr> <tr> <td>AVX512VL</td> <td>AVX-512 vector length extensions</td> </tr> <tr> <td>AVX512VNNI</td> <td>AVX-512 vector neural network instructions</td> </tr> <tr> <td>AVX512VP2INTERSECT</td> <td>AVX-512 intersect for D/Q</td> </tr> <tr> <td>AVX512VPOPCNTDQ</td> <td>AVX-512 vector population count doubleword and quadword</td> </tr> <tr> <td>ENQCMD</td> <td>Enqueue Command</td> </tr> <tr> <td>GFNI</td> <td>Galois Field New Instructions</td> </tr> <tr> <td>HYPERVISOR</td> <td>Running under hypervisor</td> </tr> <tr> <td>VAES</td> <td>AVX-512 vector AES instructions</td> </tr> <tr> <td>VPCLMULQDQ</td> <td>Carry-less multiplication quadword</td> </tr> </tbody> </table> <p>By default, the following CPUID flags have been blacklisted: BMI1, BMI2, CLMUL, CMOV, CX16, ERMS, F16C, HTT, LZCNT, MMX, MMXEXT, NX, POPCNT, RDRAND, RDSEED, RDTSCP, SGX, SSE, SSE2, SSE3, SSE4, SSE42 and SSSE3. See <a href="../advanced/worker-configuration-reference#sourcescpu"><code class="language-plaintext highlighter-rouge notranslate">sources.cpu</code></a> configuration options to change the behavior.</p> <p>See the full list in <a href="https://github.com/klauspost/cpuid#x86-cpu-instructions">github.com/klauspost/cpuid</a>.</p> <h4 id="arm-cpuid-flags-partial-list">Arm CPUID flags (partial list)</h4> <table> <thead> <tr> <th>Flag</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>IDIVA</td> <td>Integer divide instructions available in ARM mode</td> </tr> <tr> <td>IDIVT</td> <td>Integer divide instructions available in Thumb mode</td> </tr> <tr> <td>THUMB</td> <td>Thumb instructions</td> </tr> <tr> <td>FASTMUL</td> <td>Fast multiplication</td> </tr> <tr> <td>VFP</td> <td>Vector floating point instruction extension (VFP)</td> </tr> <tr> <td>VFPv3</td> <td>Vector floating point extension v3</td> </tr> <tr> <td>VFPv4</td> <td>Vector floating point extension v4</td> </tr> <tr> <td>VFPD32</td> <td>VFP with 32 D-registers</td> </tr> <tr> <td>HALF</td> <td>Half-word loads and stores</td> </tr> <tr> <td>EDSP</td> <td>DSP extensions</td> </tr> <tr> <td>NEON</td> <td>NEON SIMD instructions</td> </tr> <tr> <td>LPAE</td> <td>Large Physical Address Extensions</td> </tr> </tbody> </table> <h4 id="arm64-cpuid-flags-partial-list">Arm64 CPUID flags (partial list)</h4> <table> <thead> <tr> <th>Flag</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>AES</td> <td>Announcing the Advanced Encryption Standard</td> </tr> <tr> <td>EVSTRM</td> <td>Event Stream Frequency Features</td> </tr> <tr> <td>FPHP</td> <td>Half Precision(16bit) Floating Point Data Processing Instructions</td> </tr> <tr> <td>ASIMDHP</td> <td>Half Precision(16bit) Asimd Data Processing Instructions</td> </tr> <tr> <td>ATOMICS</td> <td>Atomic Instructions to the A64</td> </tr> <tr> <td>ASIMRDM</td> <td>Support for Rounding Double Multiply Add/Subtract</td> </tr> <tr> <td>PMULL</td> <td>Optional Cryptographic and CRC32 Instructions</td> </tr> <tr> <td>JSCVT</td> <td>Perform Conversion to Match Javascript</td> </tr> <tr> <td>DCPOP</td> <td>Persistent Memory Support</td> </tr> </tbody> </table> <h4 id="intel-rdt-flags">Intel RDT flags</h4> <table> <thead> <tr> <th>Flag</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>RDTMON</td> <td>Intel RDT Monitoring Technology</td> </tr> <tr> <td>RDTCMT</td> <td>Intel Cache Monitoring (CMT)</td> </tr> <tr> <td>RDTMBM</td> <td>Intel Memory Bandwidth Monitoring (MBM)</td> </tr> <tr> <td>RDTL3CA</td> <td>Intel L3 Cache Allocation Technology</td> </tr> <tr> <td>RDTl2CA</td> <td>Intel L2 Cache Allocation Technology</td> </tr> <tr> <td>RDTMBA</td> <td>Intel Memory Bandwidth Allocation (MBA) Technology</td> </tr> </tbody> </table> <h3 id="iommu-deprecated">IOMMU (deprecated)</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">iommu.enabled</code></strong></td> <td>true</td> <td>IOMMU is present and enabled in the kernel</td> </tr> </tbody> </table> <p><strong>DEPRECATED</strong>: The <strong>iommu</strong> source is deprecated and not enabled by default.</p> <h3 id="kernel">Kernel</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-config.&lt;option&gt;</code></strong></td> <td>true</td> <td>Kernel config option is enabled (set y' or m'). Default options are <code class="language-plaintext highlighter-rouge notranslate">NO_HZ</code>, <code class="language-plaintext highlighter-rouge notranslate">NO_HZ_IDLE</code>, <code class="language-plaintext highlighter-rouge notranslate">NO_HZ_FULL</code> and <code class="language-plaintext highlighter-rouge notranslate">PREEMPT</code></td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-selinux.enabled</code></strong></td> <td>true</td> <td>Selinux is enabled on the node</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-version.full</code></strong></td> <td>string</td> <td>Full kernel version as reported by <code class="language-plaintext highlighter-rouge notranslate">/proc/sys/kernel/osrelease</code> (e.g. 4.5.6-7-g123abcde')</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-version.major</code></strong></td> <td>string</td> <td>First component of the kernel version (e.g. 4')</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-version.minor</code></strong></td> <td>string</td> <td>Second component of the kernel version (e.g. 5')</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">kernel-version.revision</code></strong></td> <td>string</td> <td>Third component of the kernel version (e.g. 6')</td> </tr> </tbody> </table> <p>The kernel label source is configurable, see <a href="deployment-and-usage#worker-configuration">worker configuration</a> and <a href="../advanced/worker-configuration-reference#sourceskernel"><code class="language-plaintext highlighter-rouge notranslate">sources.kernel</code></a> configuration options for details.</p> <h3 id="memory">Memory</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">memory-numa</code></strong></td> <td>true</td> <td>Multiple memory nodes i.e. NUMA architecture detected</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">memory-nv.present</code></strong></td> <td>true</td> <td>NVDIMM device(s) are present</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">memory-nv.dax</code></strong></td> <td>true</td> <td>NVDIMM region(s) configured in DAX mode are present</td> </tr> </tbody> </table> <h3 id="network">Network</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">network-sriov.capable</code></strong></td> <td>true</td> <td><a href="http://www.intel.com/content/www/us/en/pci-express/pci-sig-sr-iov-primer-sr-iov-technology-paper.html">Single Root Input/Output Virtualization</a> (SR-IOV) enabled Network Interface Card(s) present</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">network-sriov.configured</code></strong></td> <td>true</td> <td>SR-IOV virtual functions have been configured</td> </tr> </tbody> </table> <h3 id="pci">PCI</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">pci-&lt;device label&gt;.present</code></strong></td> <td>true</td> <td>PCI device is detected</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">pci-&lt;device label&gt;.sriov.capable</code></strong></td> <td>true</td> <td><a href="http://www.intel.com/content/www/us/en/pci-express/pci-sig-sr-iov-primer-sr-iov-technology-paper.html">Single Root Input/Output Virtualization</a> (SR-IOV) enabled PCI device present</td> </tr> </tbody> </table> <p><code class="language-plaintext highlighter-rouge notranslate">&lt;device label&gt;</code> is format is configurable and set to <code class="language-plaintext highlighter-rouge notranslate">&lt;class&gt;_&lt;vendor&gt;</code> by default. For more more details about configuration of the pci labels, see <a href="../advanced/worker-configuration-reference#sourcespci"><code class="language-plaintext highlighter-rouge notranslate">sources.pci</code></a> options and <a href="deployment-and-usage#worker-configuration">worker configuration</a> instructions.</p> <h3 id="usb">USB</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">usb-&lt;device label&gt;.present</code></strong></td> <td>true</td> <td>USB device is detected</td> </tr> </tbody> </table> <p><code class="language-plaintext highlighter-rouge notranslate">&lt;device label&gt;</code> is format is configurable and set to <code class="language-plaintext highlighter-rouge notranslate">&lt;class&gt;_&lt;vendor&gt;_&lt;device&gt;</code> by default. For more more details about configuration of the usb labels, see <a href="../advanced/worker-configuration-reference#sourcesusb"><code class="language-plaintext highlighter-rouge notranslate">sources.usb</code></a> options and <a href="deployment-and-usage#worker-configuration">worker configuration</a> instructions.</p> <h3 id="storage">Storage</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">storage-nonrotationaldisk</code></strong></td> <td>true</td> <td>Non-rotational disk, like SSD, is present in the node</td> </tr> </tbody> </table> <h3 id="system">System</h3> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">system-os_release.ID</code></strong></td> <td>string</td> <td>Operating system identifier</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">system-os_release.VERSION_ID</code></strong></td> <td>string</td> <td>Operating system version identifier (e.g. 6.7')</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">system-os_release.VERSION_ID.major</code></strong></td> <td>string</td> <td>First component of the OS version id (e.g. 6')</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">system-os_release.VERSION_ID.minor</code></strong></td> <td>string</td> <td>Second component of the OS version id (e.g. 7')</td> </tr> </tbody> </table> <h3 id="custom">Custom</h3> <p>The custom label source is designed for creating <a href="#user-defined-labels">user defined labels</a>. However, it has a few statically defined built-in labels:</p> <table> <thead> <tr> <th>Feature</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">custom-rdma.capable</code></strong></td> <td>true</td> <td>The node has an RDMA capable Network adapter</td> </tr> <tr> <td><strong><code class="language-plaintext highlighter-rouge notranslate">custom-rdma.enabled</code></strong></td> <td>true</td> <td>The node has the needed RDMA modules loaded to run RDMA traffic</td> </tr> </tbody> </table> <h2 id="user-defined-labels">User defined labels</h2> <p>NFD has many extension points for creating vendor and application specific labels. See the <a href="/node-feature-discovery/v0.11/advanced/customization-guide.html">customization guide</a> for detailed documentation.</p> <h2 id="extended-resources">Extended resources</h2> <p>This feature is experimental and by no means a replacement for the usage of device plugins.</p> <p>Labels which have integer values, can be promoted to Kubernetes extended resources by listing them to the master <code class="language-plaintext highlighter-rouge notranslate">-resource-labels</code> command line flag. These labels won't then show in the node label section, they will appear only as extended resources.</p> <p>An example use-case for the extended resources could be based on a hook which creates a label for the node SGX EPC memory section size. By giving the name of that label in the <code class="language-plaintext highlighter-rouge notranslate">-resource-labels</code> flag, that value will then turn into an extended resource of the node, allowing PODs to request that resource and the Kubernetes scheduler to schedule such PODs to only those nodes which have a sufficient capacity of said resource left.</p> <p>Similar to labels, the default namespace <code class="language-plaintext highlighter-rouge notranslate">feature.node.kubernetes.io</code> is automatically prefixed to the extended resource, if the promoted label doesn't have a namespace.</p> <p>Example usage of the command line arguments, using a new namespace: <code class="language-plaintext highlighter-rouge notranslate">nfd-master -resource-labels=my_source-my.feature,sgx.some.ns/epc -extra-label-ns=sgx.some.ns</code></p> <p>The above would result in following extended resources provided that related labels exist:</p> <div class="language-plaintext highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code> sgx.some.ns/epc: &lt;label value&gt;
feature.node.kubernetes.io/my_source-my.feature: &lt;label value&gt;
</code></pre> </div></div> <!-- 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.11/get-started/deployment-and-usage.html" class="btn" title="Deployment and usage" accesskey="p" rel="prev"> <i class="fa fa-arrow-circle-left"></i> Previous </a></div> <div class="next"><a href="/node-feature-discovery/v0.11/get-started/examples-and-demos.html" class="btn" title="Examples and demos" 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">2016-2022,</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 v209">GitHub Pages</a> using a <a href="https://github.com/rundocs/jekyll-rtd-theme" rel="noreferrer" target="_blank" title="rundocs/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.11 </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: 441"> <i class="fa fa-github"></i> Homepage </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/issues" title="Open issues: 20"> <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: 82771 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.11/" title="Node Feature Discovery">Software</a> is under the terms of <a href="https://github.com/kubernetes-sigs/node-feature-discovery">Apache License 2.0</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>