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

24 lines
26 KiB
HTML
Raw Normal View History

<!DOCTYPE html> <html lang="en" dir="auto"> <head><meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, user-scalable=no"> <meta name="description" content="Deployment with Kustomize Table of contents Overlays Worker one-shot Master Worker Topologyupdater Topologyupdater Metrics Uninstallation Kustomize..."> <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>Kustomize · Node Feature Discovery</title> <meta name="twitter:title" content="Kustomize · Node Feature Discovery"> <meta name="twitter:description" content="Deployment with Kustomize Table of contents Overlays Worker one-shot Master Worker Topologyupdater Topologyupdater Metrics Uninstallation Kustomize..."> <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/deployment/kustomize.html"> <meta name="twitter:creator" content="@jekyll-rtd-theme v2.0.10"> <meta property="og:title" content="Kustomize · Node Feature Discovery"> <meta property="og:description" content="Deployment with Kustomize Table of contents Overlays Worker one-shot Master Worker Topologyupdater Topologyupdater Metrics Uninstallation Kustomize..."> <meta property="og:locale" content="en"> <meta property="og:url" content="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/kustomize.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-08-14T09:33:47+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/deployment/kustomize.html" }, "headline": "Kustomize · Node Feature Discovery", "image": [], "author": { "@type": "Person", "name": "Kubernetes SIGs" }, "datePublished": "2016-07-23T05:07:52+00:00", "dateModified": "2024-08-14T09:33:47+00:00", "publisher": { "@type": "Organization", "name": "Kubernetes SIGs", "logo": { "@type": "ImageObject", "url": "https://avatars.githubusercontent.com/u/36015203?v=4" } }, "description": "Deployment with Kustomize Table of contents Overlays Worker one-shot Master Worker Topologyupdater Topologyupdater Metrics Uninstallation Kustomize..." } </script> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"><link rel="prev" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/image-variants.html"><link rel="next" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/helm.html"><link rel="canonical" href="https://kubernetes-sigs.github.com/node-feature-discovery/master/deployment/kustomize.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,
</code></pre> </div></div> <p>This will required RBAC rules and deploy nfd-master (as a deployment) and nfd-worker (as daemonset) in the <code class="language-plaintext highlighter-rouge notranslate">node-feature-discovery</code> namespace.</p> <blockquote> <p><strong>NOTE:</strong> nfd-topology-updater is not deployed as part of the <code class="language-plaintext highlighter-rouge notranslate">default</code> overlay. Refer to the <a href="#master-worker-topologyupdater">Master Worker Topologyupdater</a> and <a href="#topologyupdater">Topologyupdater</a> below.</p> </blockquote> <p>Alternatively you can clone the repository and customize the deployment by creating your own overlays. See <a href="https://github.com/kubernetes-sigs/kustomize">kustomize</a> for more information about managing deployment configurations.</p> <h2 id="overlays">Overlays</h2> <p>The NFD repository hosts a set of overlays for different usages and deployment scenarios under <a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays"><code class="language-plaintext highlighter-rouge notranslate">deployment/overlays</code></a></p> <ul> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/default"><code class="language-plaintext highlighter-rouge notranslate">default</code></a>: default deployment of nfd-worker as a daemonset, described above</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/default-job"><code class="language-plaintext highlighter-rouge notranslate">default-job</code></a>: see <a href="#worker-one-shot">Worker one-shot</a> below</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/master-worker-topologyupdater"><code class="language-plaintext highlighter-rouge notranslate">master-worker-topologyupdater</code></a>: see <a href="#master-worker-topologyupdater">Master Worker Topologyupdater</a> below</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/topologyupdater"><code class="language-plaintext highlighter-rouge notranslate">topologyupdater</code></a>: see <a href="#topologyupdater">Topology Updater</a> below</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/prometheus"><code class="language-plaintext highlighter-rouge notranslate">prometheus</code></a>: see <a href="#metrics">Metrics</a> below</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/prune"><code class="language-plaintext highlighter-rouge notranslate">prune</code></a>: clean up the cluster after uninstallation, see <a href="/node-feature-discovery/master/deployment/uninstallation.html#removing-feature-labels">Removing feature labels</a></li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/samples/cert-manager"><code class="language-plaintext highlighter-rouge notranslate">samples/cert-manager</code></a>: an example for supplementing the default deployment with cert-manager for TLS authentication, see <a href="/node-feature-discovery/master/deployment/tls.html">Automated TLS certificate management using cert-manager</a> for details</li> <li><a href="https://github.com/kubernetes-sigs/node-feature-discovery/blob/master/deployment/overlays/samples/custom-rules"><code class="language-plaintext highlighter-rouge notranslate">samples/custom-rules</code></a>: an example for spicing up the default deployment with a separately managed configmap of custom labeling rules, see <a href="/node-feature-discovery/master/usage/features.html#custom">Custom feature source</a> for more information about custom node labels</li> </ul> <h3 id="worker-one-shot">Worker one-shot</h3> <p>Feature discovery can alternatively be configured as a one-shot job. The <code class="language-plaintext highlighter-rouge notranslate">default-job</code> overlay may be used to achieve th
kubectl kustomize https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default-job?ref<span class="o">=</span>master | <span class="se">\</span>
<span class="nb">sed </span>s<span class="s2">"/NUM_NODES/</span><span class="nv">$NUM_NODES</span><span class="s2">/"</span> | <span class="se">\</span>
kubectl apply <span class="nt">-f</span> -
</code></pre> </div></div> <p>The example above launches as many jobs as there are non-master nodes. Note that this approach does not guarantee running once on every node. For example, tainted, non-ready nodes or some other reasons in Job scheduling may cause some node(s) will run extra job instance(s) to satisfy the request.</p> <h3 id="master-worker-topologyupdater">Master Worker Topologyupdater</h3> <p>NFD-Master, nfd-worker and nfd-topology-updater can be configured to be deployed as separate pods. The <code class="language-plaintext highlighter-rouge notranslate">master-worker-topologyupdater</code> overlay may be used to achieve this:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/master-worker-topologyupdater?ref<span class="o">=</span>master
</code></pre> </div></div> <h3 id="topologyupdater">Topologyupdater</h3> <p>To deploy just nfd-topology-updater (without nfd-master and nfd-worker) use the <code class="language-plaintext highlighter-rouge notranslate">topologyupdater</code> overlay:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/topologyupdater?ref<span class="o">=</span>master
</code></pre> </div></div> <p>NFD-Topology-Updater can be configured along with the <code class="language-plaintext highlighter-rouge notranslate">default</code> overlay (which deploys nfd-worker and nfd-master) where all the software components are deployed as separate pods;</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>
kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref<span class="o">=</span>master
kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/topologyupdater?ref<span class="o">=</span>master
</code></pre> </div></div> <h3 id="metrics">Metrics</h3> <p>To allow <a href="https://github.com/prometheus-operator/prometheus-operator">prometheus operator</a> to scrape metrics from node-feature-discovery, run the following command:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref<span class="o">=</span>master
kubectl apply <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/prometheus?ref<span class="o">=</span>master
</code></pre> </div></div> <h2 id="uninstallation">Uninstallation</h2> <p>Simplest way is to invoke <code class="language-plaintext highlighter-rouge notranslate">kubectl delete</code> on the overlay that was used for deployment. Beware that this will also delete the namespace that NFD is running in. For example, in case the default overlay from the repo was used:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code>kubectl delete <span class="nt">-k</span> https://github.com/kubernetes-sigs/node-feature-discovery/deployment/overlays/default?ref<span class="o">=</span>master
</code></pre> </div></div> <p>Alternatively you can delete create objects one-by-one, depending on the type of deployment, for example:</p> <div class="language-bash highlighter-rouge notranslate"><div class="highlight"><pre class="highlight"><code><span class="nv">NFD_NS</span><span class="o">=</span>node-feature-discovery
kubectl <span class="nt">-n</span> <span class="nv">$NFD_NS</span> delete ds nfd-worker
kubectl <span class="nt">-n</span> <span class="nv">$NFD_NS</span> delete deploy nfd-master
kubectl <span class="nt">-n</span> <span class="nv">$NFD_NS</span> delete svc nfd-master
kubectl <span class="nt">-n</span> <span class="nv">$NFD_NS</span> delete sa nfd-master
kubectl delete clusterrole nfd-master
kubectl delete clusterrolebinding nfd-master
</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/master/deployment/image-variants.html" class="btn" title="Image variants" accesskey="p" rel="prev"> <i class="fa fa-arrow-circle-left"></i> Previous </a></div> <div class="next"><a href="/node-feature-discovery/master/deployment/helm.html" class="btn" title="Helm" 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="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: 743"> <i class="fa fa-github"></i> Homepage </a> </dd> <dd> <a href="https://github.com/kubernetes-sigs/node-feature-discovery/issues" title="Open issues: 33"> <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: 105750 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>