<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Operations on KlustreFS</title><link>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/</link><description>Recent content in Operations on KlustreFS</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/index.xml" rel="self" type="application/rss+xml"/><item><title>Label Lustre-capable nodes</title><link>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/label-nodes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/label-nodes/</guid><description>&lt;p&gt;The default &lt;code&gt;klustre-csi-static&lt;/code&gt; storage class restricts scheduling to nodes labeled &lt;code&gt;lustre.csi.klustrefs.io/lustre-client=true&lt;/code&gt;. Use this runbook whenever you add or remove nodes from the Lustre client pool.&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Cluster-admin access with &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Nodes already have the Lustre client packages installed and can reach your Lustre servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="td-heading-self-link" href="#steps" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Identify nodes that can mount Lustre&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get nodes -o wide
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cross-reference with your infrastructure inventory or automation outputs to find the node names that have Lustre connectivity.&lt;/p&gt;</description></item><item><title>Update the Klustre CSI image</title><link>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/update-daemonset-image/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/update-daemonset-image/</guid><description>&lt;p&gt;Use this guide to bump the Klustre CSI image version (for example, when adopting a new release).&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="td-heading-self-link" href="#requirements" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Cluster-admin access.&lt;/li&gt;
&lt;li&gt;The new image is pushed to a registry reachable by your cluster (GHCR or a mirror).&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;ghcr-secret&lt;/code&gt; or equivalent image pull secret already contains credentials for the registry.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="td-heading-self-link" href="#steps" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Edit the settings ConfigMap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The manifests and Helm chart both reference &lt;code&gt;ConfigMap/klustre-csi-settings&lt;/code&gt;. Update the &lt;code&gt;nodeImage&lt;/code&gt; key with the new tag:&lt;/p&gt;</description></item><item><title>Collect diagnostics</title><link>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/collect-diagnostics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-14--fastidious-daifuku-4fed3d.netlify.app/docs/operations/collect-diagnostics/</guid><description>&lt;p&gt;When reporting an issue, provide the following artifacts so maintainers can reproduce the problem.&lt;/p&gt;
&lt;h2 id="1-capture-pod-logs"&gt;1. Capture pod logs&lt;a class="td-heading-self-link" href="#1-capture-pod-logs" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs -n klustre-system daemonset/klustre-csi-node -c klustre-csi --tail&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;200&lt;/span&gt; &amp;gt; klustre-csi.log
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs -n klustre-system daemonset/klustre-csi-node -c node-driver-registrar --tail&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#0000cf;font-weight:bold"&gt;200&lt;/span&gt; &amp;gt; node-driver-registrar.log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If a specific pod is failing, target it directly:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs -n klustre-system &amp;lt;pod-name&amp;gt; -c klustre-csi --previous
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="2-describe-pods-and-daemonset"&gt;2. Describe pods and daemonset&lt;a class="td-heading-self-link" href="#2-describe-pods-and-daemonset" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl describe daemonset klustre-csi-node -n klustre-system &amp;gt; klustre-csi-daemonset.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl describe pods -n klustre-system -l app.kubernetes.io/name&lt;span style="color:#ce5c00;font-weight:bold"&gt;=&lt;/span&gt;klustre-csi &amp;gt; klustre-csi-pods.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3-export-relevant-resources"&gt;3. Export relevant resources&lt;a class="td-heading-self-link" href="#3-export-relevant-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get csidriver lustre.csi.klustrefs.io -o yaml &amp;gt; csidriver.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get storageclass klustre-csi-static -o yaml &amp;gt; storageclass.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get configmap klustre-csi-settings -n klustre-system -o yaml &amp;gt; configmap.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Remove sensitive data (e.g., registry credentials) before sharing.&lt;/p&gt;</description></item></channel></rss>