Deployment updates:
- support fs volumes on block (#980). The change breaks backwards compatibility for block volumes: Users must explicitly set volumeMode to "Block" in config if a StorageClass is expected to be used for block volumes.
Image updates:
- Add Prometheus metrics (#721)
- Support Retain reclaim policy (#776)
- Add option for resync period and add a default of 5 minutes (#800)
- Add option for cleaning filesystem PVs in a Job (#863)
- Add option for using only Node.Name as the provisioner name, instead of Node.UID (#947)
Deployment updates:
- Refactor helm generation (#789)
- Add option for tolerations (#792)
- Add /dev volume mount for raw block support (#799)
- Add option for resource requests and limits (#831)
The following changes require Kubernetes 1.10 or higher.
- Add block volumeMode discovery and cleanup.
- Important: Beta PV.NodeAffinity field is used by default. If running against an older K8s version,
the
useAlphaAPI
flag must be set in the configMap.
Important: This version is incompatible and has breaking changes with v1!
- Remove default config, a configmap is now required.
- Configmap data is changed from json to yaml syntax.
- All local volumes must be mount points. For directory-based volumes, a bind-mount must be done in order for the provisioner to discover them. This requires the K8s mount propagation feature to be enabled.
- Detected capacity is rounded down to the nearest GB.
- New option to specify which node labels to add to the PV.
- Change fs capacity detection to use K8s volume util method.
- Add event on PV if cleanup or deletion fails.
- Run a provisioner on each node via DaemonSet.
- Discovers file-based volumes under configurable discovery directories and creates a local PV for each.
- When PV created by the provisioner is released, delete file contents and delete PV, to be discovered again.
- Use PV informer to populate volume cache.