<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CSI on Support Tools</title><link>https://support.tools/tags/csi/</link><description>Recent content in CSI on Support Tools</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 26 Oct 2026 00:00:00 -0500</lastBuildDate><atom:link href="https://support.tools/tags/csi/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting Up the Linode (Akamai) Cloud Provider for RKE2</title><link>https://support.tools/training/rke2/linode-cloud-provider-rke2/</link><pubDate>Mon, 26 Oct 2026 00:00:00 -0500</pubDate><guid>https://support.tools/training/rke2/linode-cloud-provider-rke2/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;RKE2 runs fine on plain Linode instances, but without a cloud provider the cluster knows nothing about the platform underneath it. &lt;code&gt;Service type=LoadBalancer&lt;/code&gt; stays &lt;code&gt;&amp;lt;pending&amp;gt;&lt;/code&gt; forever, nodes have no provider ID or region labels, and there is no way to get a Block Storage Volume attached to a pod.&lt;/p&gt;&#10;&lt;p&gt;Two upstream projects fill that gap:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Linode Cloud Controller Manager (CCM)&lt;/strong&gt;: sets node addresses and region/zone labels, and turns &lt;code&gt;LoadBalancer&lt;/code&gt; services into &lt;strong&gt;NodeBalancers&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Linode Block Storage CSI driver&lt;/strong&gt;: provisions, attaches and resizes &lt;strong&gt;Block Storage Volumes&lt;/strong&gt; for &lt;code&gt;PersistentVolumeClaims&lt;/code&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This guide covers:&lt;/p&gt;</description></item><item><title>CSI Driver Development for Kubernetes: Complete Implementation Guide</title><link>https://support.tools/csi-driver-development-kubernetes-storage-guide/</link><pubDate>Sun, 31 May 2026 00:00:00 -0500</pubDate><guid>https://support.tools/csi-driver-development-kubernetes-storage-guide/</guid><description>&lt;p&gt;The Container Storage Interface (CSI) standardizes storage provisioning in Kubernetes, enabling third-party storage vendors to develop plugins without modifying Kubernetes core. This comprehensive guide covers CSI driver architecture, complete implementation in Go, testing strategies, and production deployment patterns.&lt;/p&gt;</description></item><item><title>Setting Up Hetzner Cloud Provider for RKE2</title><link>https://support.tools/training/rke2/hetzner-cloud-provider-rke2/</link><pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><guid>https://support.tools/training/rke2/hetzner-cloud-provider-rke2/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The Hetzner Cloud Provider for RKE2 allows seamless integration with Hetzner&amp;rsquo;s cloud infrastructure, enabling automatic provisioning of LoadBalancer services and persistent storage using Hetzner&amp;rsquo;s CSI driver.&lt;/p&gt;&#10;&lt;p&gt;This guide covers the necessary steps to set up the Hetzner Cloud Provider in an RKE2 cluster, ensuring full compatibility with Kubernetes networking and storage requirements.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;&#10;&lt;p&gt;Before proceeding, ensure the following prerequisites are met:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A Hetzner Cloud account with an active project.&lt;/li&gt;&#10;&lt;li&gt;An RKE2 cluster running on Hetzner Cloud instances.&lt;/li&gt;&#10;&lt;li&gt;API Token for Hetzner Cloud.&lt;/li&gt;&#10;&lt;li&gt;Kubernetes CLI (&lt;code&gt;kubectl&lt;/code&gt;) installed.&lt;/li&gt;&#10;&lt;li&gt;Helm installed on your local machine.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="step-1-create-an-api-token"&gt;Step 1: Create an API Token&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Log in to your Hetzner Cloud account.&lt;/li&gt;&#10;&lt;li&gt;Navigate to &lt;strong&gt;Access&lt;/strong&gt; &amp;gt; &lt;strong&gt;API Tokens&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Click &lt;strong&gt;Generate API Token&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Assign necessary permissions (Read &amp;amp; Write for networking and storage).&lt;/li&gt;&#10;&lt;li&gt;Copy and securely store the generated API token.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-2-deploy-the-hetzner-cloud-controller-manager-ccm"&gt;Step 2: Deploy the Hetzner Cloud Controller Manager (CCM)&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Add the Hetzner Helm repository:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 1"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm repo add hetzner https://helm.hetzner.cloud&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm repo update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Create a &lt;code&gt;values.yaml&lt;/code&gt; file for the Helm deployment:&#10;&lt;div class="code-block" data-copy-label="Copy yaml code, block 2"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;yaml&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;apiToken&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;YOUR_HETZNER_API_TOKEN&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;network&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;your-network-id&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;location&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;nbg1&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Install the CCM using Helm:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 3"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm install hcloud-cloud-controller hetzner/hcloud-cloud-controller-manager -n kube-system -f values.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-3-configure-the-hetzner-csi-driver"&gt;Step 3: Configure the Hetzner CSI Driver&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Install the CSI driver via Helm:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 4"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm install hcloud-csi hetzner/hcloud-csi-driver -n kube-system&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Verify that the driver is running:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 5"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl get pods -n kube-system &lt;span class="p"&gt;|&lt;/span&gt; grep hcloud&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-4-deploy-a-loadbalancer-service"&gt;Step 4: Deploy a LoadBalancer Service&lt;/h2&gt;&#10;&lt;p&gt;Create a sample LoadBalancer service:&lt;/p&gt;</description></item><item><title>Setting Up IBM Cloud Provider for RKE2</title><link>https://support.tools/training/rke2/ibm-cloud-provider-rke2/</link><pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><guid>https://support.tools/training/rke2/ibm-cloud-provider-rke2/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The IBM Cloud Provider for RKE2 enables seamless integration between Kubernetes clusters and IBM Cloud infrastructure. This setup allows automatic provisioning of LoadBalancer services and persistent storage using IBM Cloud&amp;rsquo;s CSI driver.&lt;/p&gt;&#10;&lt;p&gt;This guide provides step-by-step instructions to set up the IBM Cloud Provider in an RKE2 cluster.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;&#10;&lt;p&gt;Ensure the following requirements are met before proceeding:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;An IBM Cloud account with an active project.&lt;/li&gt;&#10;&lt;li&gt;An RKE2 cluster deployed on IBM Cloud Virtual Servers.&lt;/li&gt;&#10;&lt;li&gt;IBM Cloud API key.&lt;/li&gt;&#10;&lt;li&gt;Kubernetes CLI (&lt;code&gt;kubectl&lt;/code&gt;) installed.&lt;/li&gt;&#10;&lt;li&gt;Helm installed on your local machine.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="step-1-create-an-ibm-cloud-api-key"&gt;Step 1: Create an IBM Cloud API Key&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Log in to the &lt;a href="https://cloud.ibm.com/"&gt;IBM Cloud Console&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Navigate to &lt;strong&gt;Manage&lt;/strong&gt; &amp;gt; &lt;strong&gt;Access (IAM)&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Click &lt;strong&gt;API Keys&lt;/strong&gt; and then &lt;strong&gt;Create API Key&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Assign the necessary permissions.&lt;/li&gt;&#10;&lt;li&gt;Download and securely store the API key.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-2-deploy-the-ibm-cloud-controller-manager-ccm"&gt;Step 2: Deploy the IBM Cloud Controller Manager (CCM)&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Add the IBM Helm repository:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 1"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm repo add ibm https://icr.io/helm/charts&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm repo update&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Create a &lt;code&gt;values.yaml&lt;/code&gt; file for the Helm deployment:&#10;&lt;div class="code-block" data-copy-label="Copy yaml code, block 2"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;yaml&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;ibmCloud&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;YOUR_IBM_CLOUD_API_KEY&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;clusterID&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;YOUR_CLUSTER_ID&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;region&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;us-south&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Install the CCM using Helm:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 3"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm install ibm-cloud-controller ibm/ibm-cloud-controller-manager -n kube-system -f values.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-3-install-the-ibm-cloud-csi-driver"&gt;Step 3: Install the IBM Cloud CSI Driver&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Install the CSI driver via Helm:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 4"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;helm install ibm-csi ibm/ibm-cloud-block-storage-plugin -n kube-system&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Verify that the driver is running:&#10;&lt;div class="code-block" data-copy-label="Copy sh code, block 5"&gt;&#10; &lt;div class="code-block-header" data-pagefind-ignore&gt;&lt;span class="code-block-lang"&gt;sh&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;kubectl get pods -n kube-system &lt;span class="p"&gt;|&lt;/span&gt; grep ibm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-4-deploy-a-loadbalancer-service"&gt;Step 4: Deploy a LoadBalancer Service&lt;/h2&gt;&#10;&lt;p&gt;Create a sample LoadBalancer service:&lt;/p&gt;</description></item><item><title>Setting Up Oracle Cloud Provider for RKE2</title><link>https://support.tools/training/rke2/oracle-cloud-provider-rke2/</link><pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><guid>https://support.tools/training/rke2/oracle-cloud-provider-rke2/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;The Oracle Cloud Provider for RKE2 enables seamless integration with Oracle Cloud Infrastructure (OCI), allowing Kubernetes to manage cloud resources such as LoadBalancers and Persistent Volumes. This guide will walk you through setting up the Oracle Cloud Provider for an RKE2 cluster.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;&#10;&lt;p&gt;Before proceeding, ensure you have:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;An Oracle Cloud Infrastructure (OCI) account.&lt;/li&gt;&#10;&lt;li&gt;An RKE2 cluster running on OCI.&lt;/li&gt;&#10;&lt;li&gt;An API key configured for authentication.&lt;/li&gt;&#10;&lt;li&gt;The Oracle Cloud CLI (&lt;code&gt;oci&lt;/code&gt;) installed.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; and Helm installed.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="step-1-generate-api-credentials"&gt;Step 1: Generate API Credentials&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Log in to your Oracle Cloud account.&lt;/li&gt;&#10;&lt;li&gt;Navigate to &lt;strong&gt;Identity &amp;amp; Security&lt;/strong&gt; &amp;gt; &lt;strong&gt;Users&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Click your user and create a new API key.&lt;/li&gt;&#10;&lt;li&gt;Download the private key and note your &lt;strong&gt;User OCID&lt;/strong&gt;, &lt;strong&gt;Tenancy OCID&lt;/strong&gt;, and &lt;strong&gt;Region&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="step-2-create-a-secret-for-oci-configuration"&gt;Step 2: Create a Secret for OCI Configuration&lt;/h2&gt;&#10;&lt;p&gt;Create a Kubernetes secret to store the OCI configuration:&lt;/p&gt;</description></item><item><title>Setting Up the Out-of-Tree VMware vSphere Cloud Provider in RKE2</title><link>https://support.tools/training/rke2/vsphere-out-of-tree-cloud-provider-rke2/</link><pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><guid>https://support.tools/training/rke2/vsphere-out-of-tree-cloud-provider-rke2/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;&#10;&lt;p&gt;As &lt;strong&gt;Kubernetes moves away from in-tree cloud providers&lt;/strong&gt;, VMware vSphere now provides an &lt;strong&gt;out-of-tree Cloud Provider Interface (CPI)&lt;/strong&gt; and &lt;strong&gt;Cloud Storage Interface (CSI)&lt;/strong&gt; for integrating vSphere resources with Kubernetes.&lt;/p&gt;&#10;&lt;p&gt;The &lt;strong&gt;out-of-tree vSphere Cloud Provider&lt;/strong&gt; enables:&#10;✅ &lt;strong&gt;Dynamic Persistent Volume provisioning&lt;/strong&gt; using vSphere storage.&lt;br&gt;&#10;✅ &lt;strong&gt;Automated Load Balancer creation&lt;/strong&gt; for Kubernetes services.&lt;br&gt;&#10;✅ &lt;strong&gt;Better maintainability&lt;/strong&gt; with independent plugin updates.&lt;/p&gt;&#10;&lt;p&gt;This guide walks through the &lt;strong&gt;installation and configuration&lt;/strong&gt; of the &lt;strong&gt;vSphere CPI and CSI&lt;/strong&gt; in RKE2.&lt;/p&gt;</description></item><item><title>Deep Dive: Kubernetes CSI Drivers</title><link>https://support.tools/training/kubernetes-deep-dive/csi-driver/</link><pubDate>Wed, 01 Jan 2025 00:00:00 -0500</pubDate><guid>https://support.tools/training/kubernetes-deep-dive/csi-driver/</guid><description>&lt;p&gt;Container Storage Interface (CSI) drivers provide a standardized way to expose storage systems to container orchestrators like Kubernetes. This deep dive explores CSI architecture, implementation, and best practices.&lt;/p&gt;</description></item></channel></rss>