storage

Configure SMB-backed Kubernetes storage for legacy NAS with static PV/PVC mounts.

1|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/villadalmine/infra --skill storage-villadalmine
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: storage
Source: https://github.com/villadalmine/infra/tree/main/.agents/skills/storage
Command: npx skills add https://github.com/villadalmine/infra --skill storage-villadalmine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill removes the guesswork from connecting a legacy SMB1 NAS to Kubernetes so workloads can reliably read and write shared storage without constant mount failures or permission issues.

Core Features & Use Cases

  • Static PV/PVC Setup: Creates a fixed persistent volume and claim pair for predictable SMB-backed mounts.
  • Dynamic Provisioning Checks: Validates StorageClass-based provisioning when you want CSI-managed test volumes.
  • Troubleshooting Guidance: Helps diagnose pending PVCs, permission denied errors, and slow database startups caused by high SMB latency.
  • Use Case: A platform engineer can use this Skill to mount a legacy NAS share in K3s, verify both static and dynamic access paths, and apply the right mount options for the cluster.

Quick Start

Ask me to configure SMB storage for this K3s cluster and I will set up the appropriate persistent volume, claim, and troubleshooting steps for the legacy NAS.

Frequently Asked Questions about storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I mount an SMB share as a persistent volume in Kubernetes K3s?

To mount an SMB share in K3s, you configure static PersistentVolume and PersistentVolumeClaim pairs using csi-driver-smb with vers=1.0 mount options. This ensures workloads can reliably read and write to legacy NAS storage.

Why is my Kubernetes PVC stuck pending when using SMB storage?

Pending PVCs with SMB storage often result from incorrect vers=1.0 mount options or permission denied errors on the subdirectory source. Troubleshooting focuses on validating csi-driver-smb configurations and ensuring the writable subdirectory has correct permissions.

Can I use dynamic StorageClass provisioning with a legacy SMB1 NAS in K3s?

Yes, you can validate dynamic StorageClass provisioning for an SMB1 NAS in K3s using csi-driver-smb. The process checks CSI-managed test volumes alongside static PV/PVC mounts to ensure proper access paths.

Do I need csi-driver-smb to connect a legacy NAS to K3s workloads?

Yes, csi-driver-smb is required to connect a legacy SMB1 NAS to K3s. It provides the necessary Container Storage Interface to mount shares correctly using vers=1.0 mount options and manage writable subdirectory sources.

What causes slow database startup times on Kubernetes SMB persistent volumes?

Slow database startups on SMB persistent volumes are typically caused by high SMB latency and permission issues. Diagnosing involves checking mount options like vers=1.0 and verifying writable subdirectory permissions for the PVC.

How do I troubleshoot permission denied errors for Kubernetes PVCs on SMB shares?

Troubleshooting permission denied errors on SMB-backed PVCs involves verifying the csi-driver-smb mount options and ensuring the specified writable subdirectory source has correct permissions for K3s workloads to access.