NativeStor is an open source cloud-native local storage orchestrator for Kubernetes, which orchestrates topolvm and provides the raw device.
PS:Don't be surprised if you search for Topolvm-operator, NativeStor's original name is Topolvm-operator.
- Kubernetes: 1.21 1.22
- Node OS: Linux with LVM2
- Filesystems: ext4, xfs
- Storage capacity expand dynamically
- Volume capacity limit
- Prometheus metric and alarm
- Auto discover available devices
- Raw device
NativeStor had been shared in operatorhub.io home.
see our roadmap
topolvm csi
: LVM Capacity-aware CSI plugin for Kubernetesraw device csi
: Raw Device and Capacity-aware CSI plugin for Kubernetes
A diagram of components and the how they work see below:
operator
watch theTopolvmCluster
(CRD)operator
watch theoperator-setting ConfigMap
operator
startdiscover devices Daemonset
operator
startConfigMap controller
to watchlvmd ConfigMap
ifTopolvmCluster
createdTopolvmCluster controller
createpreparevg
Job,Topolvm-controller
Deployment depend onTopolvmCluster
preparevg
Job on specific node check disk that provided inTopolvmCluster
and create volume group, if volume group created successfully and then createlvmd ConfigMap
for the nodeConfigMap controller
finds the newlvmd ConfigMap
then createTopolvm-node
DeploymentTopolvmCluster controller
updateTopolvmCluster
status
docs directory contains documents about installation and specifications
nfs | rook ceph | longhorn | host path | topolvm | |
---|---|---|---|---|---|
filesystem | yes | yes | yes | yes | yes |
filesystem type | nfs | ext4/xfs | driver specific | ext4/xfs | ext4/xfs |
block | no | yes (rbd) | yes | no | yes |
bandwidth | standard | high | high | high | high |
IOPS | standard | standard | standard | high | high |
latency | standard | standard | standard | low | low |
snapshot | no | yes | yes | no | no |
clone | no | yes | no | no | no |
quota | no | yes | yes | no | yes |
access mod | ReadWriteOnce ReadOnlyMany ReadWriteMany | ReadWriteOnce ReadOnlyMany ReadWriteMany | ReadWriteOnce ReadOnlyMany | ReadWriteOnce | ReadWriteOnce ReadWriteOncePod |
resizing | yes | yes | yes | yes | yes |
data redundancy | Hardware RAID | yes | yes | Hardware RAID | Hardware RAID |
protocol type | nfs | rados | iscsi | fs | lvm |
ease of maintainess | driver specific | high maintainess effort | medium | medium | ops-free |
usage scenarios | general storage | extremly scalability | container attach storage | temporary data | high performance block device for cloudnative applications |
docs directory contains documents about designs and specifications.
For filing bugs, suggesting improvements, or requesting new features, please open an issue.