Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added new storageclass for NFS support #181

Merged
merged 5 commits into from
Apr 17, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions samples/storageclass/storageclass-nfs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: vxflexos-nfs
provisioner: csi-vxflexos.dellemc.com
# reclaimPolicy: PVs that are dynamically created by a StorageClass will have the reclaim policy specified here
# Allowed values:
# Reclaim: retain the PV after PVC deletion
# Delete: delete the PV after PVC deletion
# Optional: true
# Default value: Delete
reclaimPolicy: Delete
# allowVolumeExpansion: allows the users to resize the volume by editing the corresponding PVC object
# Allowed values:
# true: allow users to resize the PVC
# false: does not allow users to resize the PVC
# Optional: true
# Default value: false
allowVolumeExpansion: true
parameters:
# Storage pool to use on system
# Optional: false
storagepool: <STORAGE_POOL> # Insert Storage pool
# Protection domain that storage pool above belongs to
# Needed if array has two storagepools that share the same name, but belong to different protection domains
# Optional: true
# Uncomment the line below if you want to use protectiondomain
# protectiondomain: # Insert Protection domain name
# System you would like this storage class to use
# Allowed values: one string for system ID
# Optional: false
systemID: <SYSTEM_ID> # Insert System ID
# format options to pass to mkfs
# Allowed values: A string dictating the fs options you want passed
# Optional: true
# Uncomment the line below if you want to use mkfsFormatOption
# mkfsFormatOption: "<mkfs_format_option>" # Insert file system format option
# Filesytem type for volumes created by storageclass
# Default value: None if defaultFsType is not mentioned in values.yaml
# Else defaultFsType value mentioned in values.yaml
# will be used as default value
csi.storage.k8s.io/fstype: nfs
# Limit the volume network bandwidth
# Value is a positive number in granularity of 1024 Kbps; 0 = unlimited
# Allowed values: one string for bandwidth limit in Kbps
# Optional: false
# Uncomment the line below if you want to use bandwidthLimitInKbps
# bandwidthLimitInKbps: <BANDWIDTH_LIMIT_IN_KBPS> # Insert bandwidth limit in Kbps
# Limit the volume IOPS
# The number of IOPS must be greater than 10; 0 = unlimited
# Allowed values: one string for iops limit
# Optional: false
# Uncomment the line below if you want to use iopsLimit
# iopsLimit: <IOPS_LIMIT> # Insert iops limit
# volumeBindingMode determines how volume binding and dynamic provisioning should occur
# Allowed values:
# Immediate: volume binding and dynamic provisioning occurs once PVC is created
# WaitForFirstConsumer: delay the binding and provisioning of PV until a pod using the PVC is created.
# Optional: false
# Default value: WaitForFirstConsumer (required for topology section below)
# nasName: NAS server's name. If not specified, value from secret.yaml will be used
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a new line before starting nasName section.

# Allowed values: string
# Optional: true
# Default value: None
nasName: "nas-server"

# allowRoot: enables or disables root squashing (valid only for NFS)
# Allowed values:
# true: will allow root users to use their privileges
# false: will prevent root users on NFS clients from exercising root privileges on the NFS server
# Optional: true
# Default value: false
allowRoot: "false"

# nfsAcls: enables setting permissions on NFS mount directory
# This value overrides the NFS ACL (nfsAcls) attribute of corresponding array config in secret, if present
# Permissions can be specified in two formats:
# 1) Unix mode (NFSv3)
# 2) NFSv4 ACLs (NFSv4)
# NFSv4 ACLs are supported on NFSv4 share only.
# Allowed values:
# 1) Unix mode: valid octal mode number
# Examples: "0777", "777", "0755"
# 2) NFSv4 acls: valid NFSv4 acls, seperated by comma
# Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy"
# Optional: true
# Default value: "0777"
# nfsAcls: "0777"

volumeBindingMode: WaitForFirstConsumer
# allowedTopologies helps scheduling pods on worker nodes which match all of below expressions.
allowedTopologies:
- matchLabelExpressions:
- key: csi-vxflexos.dellemc.com/<SYSTEM_ID> # Insert System ID
values:
- csi-vxflexos.dellemc.com