Description
Environment
- Kubernetes cluster running on Talos Linux
- CSI driver:
metal-stack/csi-driver-lvm
- Node storage: heterogeneous disks (different sizes / performance per node)
Context
The csi-driver-lvm works well on Talos Linux because it bundles LVM tooling inside the CSI containers and does not depend on host-installed LVM binaries. This makes it suitable for minimal and immutable operating systems.
However, during evaluation for clusters with heterogeneous node storage, some limitations became apparent.
Observed Behavior
- Volumes are provisioned as node-local LVM logical volumes
- PVC binding happens after pod scheduling
- The Kubernetes scheduler has no visibility into per-node storage capacity
- If a pod is scheduled to a node without sufficient free LVM space, PVC provisioning fails
- There is no mechanism to guide scheduling based on available storage across nodes