mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 14:30:12 +01:00
feat(shared): adding shared mount support ZFSPV volumes
Applications who want to share a volume can use below storageclass to make their volumes shared by multiple pods ```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: openebs-zfspv parameters: shared: "yes" fstype: "zfs" poolname: "zfspv-pool" provisioner: zfs.csi.openebs.io ``` Now the provisioned volume using this storageclass can be used by multiple pods. Here pods have to make sure of the data consistency and have to have locking mechanism. One thing to note here is pods will be scheduled to the node where volume is present so that all the pods can use the same volume as they can access it locally only. This was we can avoid the NFS overhead and can get the optimal performance also. Also fixed the log formatting in the GRPC log. Signed-off-by: Pawan <pawan@mayadata.io>
This commit is contained in:
parent
ac9d6d5729
commit
27065bf40a
11 changed files with 2774 additions and 1339 deletions
|
|
@ -193,6 +193,13 @@ type VolumeInfo struct {
|
|||
// FsType can not be modified once volume has been provisioned.
|
||||
// Default Value: ext4.
|
||||
FsType string `json:"fsType,omitempty"`
|
||||
|
||||
// Shared specifies whether the volume can be shared among multiple pods.
|
||||
// If it is not set to "yes", then the ZFS-LocalPV Driver will not allow
|
||||
// the volumes to be mounted by more than one pods.
|
||||
// +kubebuilder:validation:Required
|
||||
// +kubebuilder:validation:Enum=yes;no
|
||||
Shared string `json:"shared,omitempty"`
|
||||
}
|
||||
|
||||
type VolStatus struct {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue