This repository has been archived by the owner on Oct 22, 2024. It is now read-only.
v0.8.0
New features:
- The core features of PMEM-CSI are now production-ready. See the feature status section for details.
- Kubernetes 1.17, 1.18 and 1.19 are supported and tested.
- Added additional documentation for cluster administrators.
- Metrics support for Prometheus.
- memcached can be installed with PMEM volumes via KubeDB.
- The kubelet directory is configurable in the operator API.
- The operator will remove obsolete objects after an upgrade.
- Experimental deployment via YAML files with support for the CSIStorageCapacity alpha feature in Kubernetes 1.19.
- Usage example for the GenericEphemeralVolume feature in Kubernetes 1.19.
Breaking changes:
- Support for Kubernetes < 1.17 was removed because CSIDriver and CSINode v1 APIs are needed and only available starting with 1.17.
Other changes:
- Built with Go 1.15.2 and updated dependencies.
- Container images are now based on Debian instead of Clear Linux, with source code of packages under a copyleft license included in the image.
- Driver startup was simplified by merging the functionality of
pmem-vg-init
andpmem-ns-init
into thepmem-csi-driver
image. - Various fixes and stability enhancements, better testing. In particular upgrade and downgrade between major releases is now covered.
Known limitations:
- Raw block volumes are based on an "fsdax" namespace and thus only support dax through a filesystem. This is a technical limitation of PMEM and Kubernetes. A "devdax" namespace would support dax directly, but cannot be passed into a pod as a storage volume because it is a character device and Kubernetes expects a block device.
- A race condition can lead to a volume leak: if deletion of a volume is triggered while the driver is currently starting up, then the PMEM-CSI controller may incorrectly assume that the volume was already deleted although it still exists on a node that the controller doesn't know about yet. The volume then gets removed in Kubernetes without removing it on that node.
- The operator API is still alpha and will continue to evolve.