mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-06 16:57:10 +00:00
91 lines
No EOL
29 KiB
HTML
91 lines
No EOL
29 KiB
HTML
<!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="Custom Resources Table of contents NodeFeature NodeFeatureGroup NodeFeatureRule NodeResourceTopology NFD uses some Kubernetes custom resources. Nod..."> <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>CRDs · Node Feature Discovery</title> <meta name="twitter:title" content="CRDs · Node Feature Discovery"> <meta name="twitter:description" content="Custom Resources Table of contents NodeFeature NodeFeatureGroup NodeFeatureRule NodeResourceTopology NFD uses some Kubernetes custom resources. Nod..."> <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/master/usage/custom-resources.html"> <meta name="twitter:creator" content="@rundocs/jekyll-rtd-theme v2.0.10"> <meta property="og:title" content="CRDs · Node Feature Discovery"> <meta property="og:description" content="Custom Resources Table of contents NodeFeature NodeFeatureGroup NodeFeatureRule NodeResourceTopology NFD uses some Kubernetes custom resources. Nod..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/master/usage/custom-resources.html"> <meta property="og:type" content="article"> <meta property="article:author" content="Kubernetes SIGs"> <meta property="article:published_time" content="2016-07-23T05:07:52+00:00"> <meta property="article:modified_time" content="2024-07-16T08:40:14+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/master/usage/custom-resources.html" }, "headline": "CRDs · Node Feature Discovery", "image": [], "author": { "@type": "Person", "name": "Kubernetes SIGs" }, "datePublished": "2016-07-23T05:07:52+00:00", "dateModified": "2024-07-16T08:40:14+00:00", "publisher": { "@type": "Organization", "name": "Kubernetes SIGs", "logo": { "@type": "ImageObject", "url": "https://avatars.githubusercontent.com/u/36015203?v=4" } }, "description": "Custom Resources Table of contents NodeFeature NodeFeatureGroup NodeFeatureRule NodeResourceTopology NFD uses some Kubernetes custom resources. Nod..." } </script> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="prev" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/usage/nfd-gc.html"><link rel="next" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/usage/customization-guide.html"><link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/usage/custom-resources.html"><link rel="icon" type="image/svg+xml" href="/node-feature-discovery/master/assets/images/favicon.svg"><link rel="icon" type="image/png" href="/node-feature-discovery/master/assets/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/node-feature-discovery/master/assets/images/favicon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/node-feature-discovery/master/assets/images/favicon-96x96.png" sizes="96x96"><link rel="mask-icon" href="/node-feature-discovery/master/assets/images/favicon.svg" color="#2980b9"><link rel="apple-touch-icon" href="/node-feature-discovery/master/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/master", 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/master/" 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">master</span> <form class="search pt-2" action="/node-feature-discovery/master/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/master/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/master/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/master/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/master/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/master/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/master/deployment/kustomize.html">2. Kustomize</a> </li> <li class="toc level-1 " data-sort="3" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/usage/nfd-gc.html">6. NFD-Garbage-Collector</a> </li> <li class="toc level-1 current" data-sort="7" data-level="1"> <a class="d-flex flex-items-baseline current" href="/node-feature-discovery/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/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/master/reference/versions.html">9. Versions</a> </li> <li class="toc level-1 " data-sort="10" data-level="1"> <a class="d-flex flex-items-baseline " href="/node-feature-discovery/master/reference/feature-gates.html">10. Feature Gates</a> </li></ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/master/developer-guide/"> Developer guide </a><ul> </ul> <a class="caption d-block text-uppercase no-wrap px-2 py-0" href="/node-feature-discovery/master/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/master/">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/master/" title="/"> <i class="fa fa-home"></i> </a> </li><li class="breadcrumb-item" ><a href="/node-feature-discovery/master/usage/">usage</a></li><li class="breadcrumb-item" aria-current="page">custom-resources.md</li></ul> <a class="edit" href="https://github.com/kubernetes-sigs/node-feature-discovery/edit/gh-pages/usage/custom-resources.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="custom-resources">Custom Resources</h1> <h2 class="no_toc text-delta" id="table-of-contents">Table of contents</h2> <ol id="markdown-toc"> <li><a href="#nodefeature" id="markdown-toc-nodefeature">NodeFeature</a></li> <li><a href="#nodefeaturegroup" id="markdown-toc-nodefeaturegroup">NodeFeatureGroup</a></li> <li><a href="#nodefeaturerule" id="markdown-toc-nodefeaturerule">NodeFeatureRule</a></li> <li><a href="#noderesourcetopology" id="markdown-toc-noderesourcetopology">NodeResourceTopology</a></li> </ol> <hr /> <p>NFD uses some Kubernetes <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/">custom resources</a>.</p> <h2 id="nodefeature">NodeFeature</h2> <p>NodeFeature is an NFD-specific custom resource for communicating node features and node labeling requests. The nfd-master pod watches for NodeFeature objects, labels nodes as specified and uses the listed features as input when evaluating <a href="#nodefeaturerule">NodeFeatureRule</a>s. NodeFeature objects can be used for implementing 3rd party extensions (see <a href="/node-feature-discovery/master/usage/customization-guide.html#nodefeature-custom-resource">customization guide</a> for more details).</p> <div class="language-yaml highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="na">apiVersion</span><span class="pi">:</span> <span class="s">nfd.k8s-sigs.io/v1alpha1</span>
|
|
<span class="na">kind</span><span class="pi">:</span> <span class="s">NodeFeature</span>
|
|
<span class="na">metadata</span><span class="pi">:</span>
|
|
<span class="na">labels</span><span class="pi">:</span>
|
|
<span class="s">nfd.node.kubernetes.io/node-name</span><span class="pi">:</span> <span class="s">node-1</span>
|
|
<span class="na">name</span><span class="pi">:</span> <span class="s">node-1-vendor-features</span>
|
|
<span class="na">spec</span><span class="pi">:</span>
|
|
<span class="na">features</span><span class="pi">:</span>
|
|
<span class="na">instances</span><span class="pi">:</span>
|
|
<span class="s">vendor.device</span><span class="pi">:</span>
|
|
<span class="na">elements</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">attributes</span><span class="pi">:</span>
|
|
<span class="na">model</span><span class="pi">:</span> <span class="s2">"</span><span class="s">xpu-1"</span>
|
|
<span class="na">memory</span><span class="pi">:</span> <span class="s2">"</span><span class="s">4000"</span>
|
|
<span class="na">type</span><span class="pi">:</span> <span class="s2">"</span><span class="s">fast"</span>
|
|
<span class="pi">-</span> <span class="na">attributes</span><span class="pi">:</span>
|
|
<span class="na">model</span><span class="pi">:</span> <span class="s2">"</span><span class="s">xpu-2"</span>
|
|
<span class="na">memory</span><span class="pi">:</span> <span class="s2">"</span><span class="s">16000"</span>
|
|
<span class="na">type</span><span class="pi">:</span> <span class="s2">"</span><span class="s">slow"</span>
|
|
<span class="na">labels</span><span class="pi">:</span>
|
|
<span class="na">vendor-xpu-present</span><span class="pi">:</span> <span class="s2">"</span><span class="s">true"</span>
|
|
</code></pre> </div></div> <h2 id="nodefeaturegroup">NodeFeatureGroup</h2> <p>NodeFeatureGroup is an NFD-specific custom resource that is designed for grouping nodes based on their features. NFD-Master watches for NodeFeatureGroup objects in the cluster and updates the status of the NodeFeatureGroup object with the list of nodes that match the feature group rules. The NodeFeatureGroup rules follow the same syntax as the NodeFeatureRule rules.</p> <div class="language-yaml highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="na">apiVersion</span><span class="pi">:</span> <span class="s">nfd.k8s-sigs.io/v1alpha1</span>
|
|
<span class="na">kind</span><span class="pi">:</span> <span class="s">NodeFeatureGroup</span>
|
|
<span class="na">metadata</span><span class="pi">:</span>
|
|
<span class="na">name</span><span class="pi">:</span> <span class="s">node-feature-group-example</span>
|
|
<span class="na">spec</span><span class="pi">:</span>
|
|
<span class="na">featureGroupRules</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">node</span><span class="nv"> </span><span class="s">has</span><span class="nv"> </span><span class="s">kernel</span><span class="nv"> </span><span class="s">version</span><span class="nv"> </span><span class="s">discovered"</span>
|
|
<span class="na">matchFeatures</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">feature</span><span class="pi">:</span> <span class="s">kernel.version</span>
|
|
<span class="na">matchExpressions</span><span class="pi">:</span>
|
|
<span class="na">major</span><span class="pi">:</span> <span class="pi">{</span><span class="nv">op</span><span class="pi">:</span> <span class="nv">Exists</span><span class="pi">}</span>
|
|
</code></pre> </div></div> <p>NodeFeatureGroup API is an alpha feature and disabled by default in NFD version master. For more details and examples see the <a href="/node-feature-discovery/master/usage/customization-guide.html#nodefeaturegroup-custom-resource">customization guide</a>.</p> <h2 id="nodefeaturerule">NodeFeatureRule</h2> <p>NodeFeatureRule is an NFD-specific custom resource that is designed for rule-based custom labeling of nodes. NFD-Master watches for NodeFeatureRule objects in the cluster and labels nodes according to the rules within. Some use cases are e.g. application specific labeling in a specific environments or being distributed by hardware vendors to create specific labels for their devices.</p> <div class="language-yaml highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="na">apiVersion</span><span class="pi">:</span> <span class="s">nfd.k8s-sigs.io/v1alpha1</span>
|
|
<span class="na">kind</span><span class="pi">:</span> <span class="s">NodeFeatureRule</span>
|
|
<span class="na">metadata</span><span class="pi">:</span>
|
|
<span class="na">name</span><span class="pi">:</span> <span class="s">example-rule</span>
|
|
<span class="na">spec</span><span class="pi">:</span>
|
|
<span class="na">rules</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">example</span><span class="nv"> </span><span class="s">rule"</span>
|
|
<span class="na">labels</span><span class="pi">:</span>
|
|
<span class="s2">"</span><span class="s">example-custom-feature"</span><span class="pi">:</span> <span class="s2">"</span><span class="s">true"</span>
|
|
<span class="c1"># Label is created if all of the rules below match</span>
|
|
<span class="na">matchFeatures</span><span class="pi">:</span>
|
|
<span class="c1"># Match if "veth" kernel module is loaded</span>
|
|
<span class="pi">-</span> <span class="na">feature</span><span class="pi">:</span> <span class="s">kernel.loadedmodule</span>
|
|
<span class="na">matchExpressions</span><span class="pi">:</span>
|
|
<span class="na">veth</span><span class="pi">:</span> <span class="pi">{</span><span class="nv">op</span><span class="pi">:</span> <span class="nv">Exists</span><span class="pi">}</span>
|
|
<span class="c1"># Match if any PCI device with vendor 8086 exists in the system</span>
|
|
<span class="pi">-</span> <span class="na">feature</span><span class="pi">:</span> <span class="s">pci.device</span>
|
|
<span class="na">matchExpressions</span><span class="pi">:</span>
|
|
<span class="na">vendor</span><span class="pi">:</span> <span class="pi">{</span><span class="nv">op</span><span class="pi">:</span> <span class="nv">In</span><span class="pi">,</span> <span class="nv">value</span><span class="pi">:</span> <span class="pi">[</span><span class="s2">"</span><span class="s">8086"</span><span class="pi">]}</span>
|
|
</code></pre> </div></div> <p>See the <a href="/node-feature-discovery/master/usage/customization-guide.html#node-feature-rule-custom-resource">Customization guide</a> for full documentation of the NodeFeatureRule resource and its usage.</p> <p>The <a href="https://github.com/kubernetes-sigs/node-feature-discovery/tree/master/deployment/nodefeaturerule/samples"><code class="language-plaintext highlighter-rouge notranslate">deployment/nodefeaturerule/samples/</code></a> directory contains sample NodeFeatureRule objects that replicate the built-in default feature labels generated by NFD. The sample rules can be used as a base to customize NFD feature labels. To use them in place of the the NFD built-in labels, the corresponding feature source(s) of nfd-worker should be disabled with the <a href="/node-feature-discovery/master/reference/worker-configuration-reference.html#corelabelsources"><code class="language-plaintext highlighter-rouge notranslate">core.labelSources</code></a> configuration option.</p> <h2 id="noderesourcetopology">NodeResourceTopology</h2> <p>When run with NFD-Topology-Updater, NFD creates NodeResourceTopology objects corresponding to node resource hardware topology such as:</p> <div class="language-yaml highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="na">apiVersion</span><span class="pi">:</span> <span class="s">topology.node.k8s.io/v1alpha1</span>
|
|
<span class="na">kind</span><span class="pi">:</span> <span class="s">NodeResourceTopology</span>
|
|
<span class="na">metadata</span><span class="pi">:</span>
|
|
<span class="na">name</span><span class="pi">:</span> <span class="s">node1</span>
|
|
<span class="na">topologyPolicies</span><span class="pi">:</span> <span class="pi">[</span><span class="s2">"</span><span class="s">SingleNUMANodeContainerLevel"</span><span class="pi">]</span>
|
|
<span class="na">zones</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">node-0</span>
|
|
<span class="na">type</span><span class="pi">:</span> <span class="s">Node</span>
|
|
<span class="na">resources</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">cpu</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">20</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">16</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">10</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">vendor/nic1</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">3</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">3</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">3</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">node-1</span>
|
|
<span class="na">type</span><span class="pi">:</span> <span class="s">Node</span>
|
|
<span class="na">resources</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">cpu</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">30</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">30</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">15</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">vendor/nic2</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">6</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">6</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">6</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">node-2</span>
|
|
<span class="na">type</span><span class="pi">:</span> <span class="s">Node</span>
|
|
<span class="na">resources</span><span class="pi">:</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">cpu</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">30</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">30</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">15</span>
|
|
<span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">vendor/nic1</span>
|
|
<span class="na">capacity</span><span class="pi">:</span> <span class="m">3</span>
|
|
<span class="na">allocatable</span><span class="pi">:</span> <span class="m">3</span>
|
|
<span class="na">available</span><span class="pi">:</span> <span class="m">3</span>
|
|
</code></pre> </div></div> <p>The NodeResourceTopology objects created by NFD can be used to gain insight into the allocatable resources along with the granularity of those resources at a per-zone level (represented by node-0 and node-1 in the above example) or can be used by an external entity (e.g. topology-aware scheduler plugin) to take an action based on the gathered information.</p> <!-- 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/master/usage/nfd-gc.html" class="btn" title="NFD-Garbage-Collector" accesskey="p" rel="prev"> <i class="fa fa-arrow-circle-left"></i> Previous </a></div> <div class="next"><a href="/node-feature-discovery/master/usage/customization-guide.html" class="btn" title="Customization guide" 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-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="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"> master </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: 734"> <i class="fa fa-github"></i> Homepage </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/issues" title="Open issues: 31"> <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: 104653 Kb"> <i class="fa fa-download"></i> Download </a> </dd> </dl> <hr> <div class="license f6 pb-2"> This <a href="/node-feature-discovery/master/" 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> |