mirror of
https://github.com/TECHNOFAB11/zfs-localpv.git
synced 2025-12-12 06:20:11 +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
|
|
@ -172,6 +172,12 @@ func (b *Builder) WithFsType(fstype string) *Builder {
|
|||
return b
|
||||
}
|
||||
|
||||
// WithShared sets where filesystem is shared or not
|
||||
func (b *Builder) WithShared(shared string) *Builder {
|
||||
b.volume.Object.Spec.Shared = shared
|
||||
return b
|
||||
}
|
||||
|
||||
// WithSnapshot sets Snapshot name for creating clone volume
|
||||
func (b *Builder) WithSnapshot(snap string) *Builder {
|
||||
b.volume.Object.Spec.SnapName = snap
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue