Mingxin Technology

Integrating NVMe-oF Storage with Kubernetes Inference Pods

Published 2026-07-30 · Mingxin Technology Insights

Low-latency NVMe-oF storage can materially improve large-model inference if you align transport, caching, and Kubernetes integration correctly. This guide explains the architecture choices, concrete integration steps, and operational checks you need to put NVMe-oF-backed volumes in front of inference pods safely and predictably.

Why use NVMe-oF for inference pods?

NVMe-oF (NVMe over Fabrics) extends NVMe performance across a network, providing sub-millisecond latencies and high IOPS/throughput when the fabric, target, and host stack are tuned. For inference on large language models (LLMs) and other memory/data-bound GPU workloads, NVMe-oF enables:

Signed vendor benchmarks (example: FX series all‑flash NVMe‑oF platforms) show throughput uplift and TTFT reduction for LLM inference workloads; check vendor test reports for reproducibility and workload details before relying on headline numbers.

Key evaluation criteria before integration

Assess these metrics and constraints for production readiness:

Transport and storage-backend comparison

Characteristic RDMA (RoCE/iWARP) TCP (NVMe/TCP)
Typical latency Lowest (sub-ms p99) Higher than RDMA (depends on stack)
CPU overhead Lower with kernel-bypass Higher without offload
Switch requirements Lossless fabric recommended Standard TCP switches work
Operational complexity Higher (switch tuning, congestion control) Lower (familiar ops model)
Interoperability Good, but vendor-dependent Broad support

Integration patterns (comparison)

Pattern When to use Pros Cons
Local NVMe only Single-node GPU density, max isolation Simplest, lowest latency Poor sharing, higher cost per GPU
NVMe-oF primary Shared, scalable storage for many pods Scale, consolidation, predictable capacity Network dependency, ops complexity
Local cache + NVMe-oF (recommended for inference) Large models with hot working sets Combines low-latency cache and scalable backend Requires cache coherence and eviction policies

Step-by-step: integrating NVMe-oF with Kubernetes inference pods

  1. Prepare the storage backend

    • Deploy NVMe-oF target nodes (or vendor appliance) and configure namespaces, ACLs, and NVMe-oF target services (nvmf, NVMe/TCP).
    • Validate targets with host-level tools (nvme-cli, perf workloads) to set baseline p50/p99.
  2. Choose and configure the fabric

    • For RDMA (RoCE), provision lossless fabric, enable DCQCN/ECN, and validate switch configuration.
    • For NVMe/TCP, ensure MTU, TCP stack tuning, and NIC offloads are enabled.
  3. Install a CSI driver or vendor plugin

    • Use a vendor CSI plugin that supports NVMe-oF, or a community CSI that exposes raw devices via iSCSI/NVMe-oF. Verify it supports dynamic provisioning, topology-aware provisioning, and snapshots if required.
    • Ensure the CSI exposes proper VolumeAttachment and NodePublish semantics for block devices and handles device discovery reliably.
  4. StorageClass, PV, PVC

    • Define StorageClasses that reflect transport and QoS (e.g., gold-rdma, silver-tcp).
    • Use ReadWriteOncePod or block volumes for single-pod exclusive access, or ReadWriteMany only if the backend supports it.
  5. Node-level caching and device plugins

    • Deploy a local NVMe cache (e.g., using a small NVMe namespace or host-local SSD) managed by software (e.g., vfs cache, specialized KV cache) to hold hot model shards.
    • For GPU affinity, use device plugins and topology-aware scheduling so inference pods land on nodes with direct NVMe and GPU locality.
  6. Pod spec and mount options

    • For block devices, use CSI raw block volumes and mount into the container using device mounts or shared memory to the inference process.
    • Limit CPU interrupts by pinning NIC queues and isolating network interrupts where appropriate.
  7. Performance tuning & validation

    • Run representative load tests (same concurrency and model size). Measure metrics: p50/p95/p99 latency, throughput, GPU utilization, host CPU, and network saturation.
    • Test failure modes: target outage, network congestion, and node restarts to verify service degradation behavior.

Operational considerations

Example vendor option and evidence

When evaluating appliances, prefer platforms with reproducible signed benchmarks and open test artifacts so you can replay tests on your workload. For example, some NVMe-oF appliances (FX series) publish signed benchmark reports showing LLM inference throughput improvements and TTFT reductions on large-model tests — review their downloadable test reports for methodology and topology before deciding: https://mingxinstorage.xyz

Key takeaways

Integrating NVMe-oF into Kubernetes for inference is a systems engineering task: align network, storage, kernel/SPDK stack, and scheduler decisions, then validate with realistic, signed tests before rolling into production.