v0.1.0
The very first release of this new project, aiming to solve a long standing gap in Kubernetes: there was no way to enforce IO limits on a per-volume level, outside of cloud providers that enforce those limits at the hypervisor level.
With this project, any CSI plugin that attaches and/or mounts a device can support IO limits, by setting a few well known markers on the volume attachment. The NRI plugin then translates these markers into actual cgroup limits enforced by the container runtime.
Added
- Initial implementation: an NRI plugin that enforces per-volume IO limits (read/write bandwidth and IOPS) on Kubernetes containers via the Linux cgroup v2
io.maxinterface, driven by QoS metadata on CSIVolumeAttachments. Supports both filesystem and raw block volumes, and runs as a DaemonSet on containerd 1.7+ and CRI-O 1.26+. - Multi-arch (linux/amd64, linux/arm64) container images, signed with cosign keyless signing and published from GitHub Actions.