## K8S/DRIVER ATTRIBUTES ######################## # version: version of this values file # Note: Do not change this value # Examples : "v2.9.1" , "nightly" version: "v2.9.1" images: # "driver" defines the container image, used for the driver container. driver: dellemc/csi-unity:v2.9.1 # CSI sidecars attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.2 provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 # CSM sidecars podmon: dellemc/podmon:v1.8.1 # LogLevel is used to set the logging level of the driver. # Allowed values: "error", "warn"/"warning", "info", "debug" # Default value: "info" logLevel: "info" # certSecretCount: Represents number of certificate secrets, which user is going to create for # ssl authentication. (unity-cert-0..unity-cert-n) # Allowed values: n, where n > 0 # Default value: None certSecretCount: 1 # imagePullPolicy: Policy to determine if the image should be pulled prior to starting the container. # Allowed values: # Always: Always pull the image. # IfNotPresent: Only pull the image if it does not already exist on the node. # Never: Never pull the image. # Default value: IfNotPresent imagePullPolicy: Always # Specify kubelet config dir path. # Ensure that the config.yaml file is present at this path. # Default value: None kubeletConfigDir: /var/lib/kubelet # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. # Allowed values: # ReadWriteOnceWithFSType: supports volume ownership and permissions change only if the fsType is defined # and the volume's accessModes contains ReadWriteOnce. # File: kubernetes may use fsGroup to change permissions and ownership of the volume # to match user requested fsGroup in the pod's security policy regardless of fstype or access mode. # None: volumes will be mounted with no modifications. # Default value: ReadWriteOnceWithFSType fsGroupPolicy: ReadWriteOnceWithFSType #To set nodeSelectors and tolerations for controller. # controller: configure controller pod specific parameters controller: # controllerCount: defines the number of csi-unity controller pods to deploy to # the Kubernetes release. # Allowed values: n, where n > 0 # Default value: None controllerCount: 2 # volumeNamePrefix: Prefix of PersistentVolume names created # Allowed values: string # Default value: None volumeNamePrefix: csivol snapshot: # enabled: Enable/Disable volume snapshot feature # Allowed values: # true: enable volume snapshot feature(install snapshotter sidecar) # false: disable volume snapshot feature(do not install snapshotter sidecar) # Default value: None enabled: true # snapNamePrefix: Prefix to apply to the names of a created snapshots # Allowed values: string # Default value: None snapNamePrefix: csi-snap resizer: # enabled: Enable/Disable volume expansion feature # Allowed values: # true: enable volume expansion feature(install resizer sidecar) # false: disable volume snapshot feature(do not install resizer sidecar) # Default value: None enabled: true # nodeSelector: Define node selection constraints for controller pods. # For the pod to be eligible to run on a node, the node must have each # of the indicated key-value pairs as labels. # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None nodeSelector: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # node-role.kubernetes.io/master: "" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the controllers, if required. # Leave as blank to install controller on worker nodes # Default value: None tolerations: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # - key: "node-role.kubernetes.io/master" # operator: "Exists" # effect: "NoExecute" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoSchedule" healthMonitor: # enabled: Enable/Disable health monitor of CSI volumes- volume state, volume condition # Allowed values: # true: enable checking of health condition of CSI volumes # false: disable checking of health condition of CSI volumes # Default value: None enabled: false # interval: Interval of monitoring volume health condition # Allowed values: Number followed by unit of time (s,m,h) # Default value: 60s interval: 60s # node: configure node pod specific parameters node: # dnsPolicy : Define the DNS Policy of the Node service. # ClusterFirstWithHostNet is the recommended and default DNS policy for the driver. # Prior to v1.6 of the driver, the default DNS policy was ClusterFirst. # In certain scenarios, users might need to change the default dnsPolicy. # Default value: None dnsPolicy: "ClusterFirstWithHostNet" healthMonitor: # enabled: Enable/Disable health monitor of CSI Volumes - volume usage # Allowed values: # true: enable checking of health condition of CSI volumes # false: disable checking of health condition of CSI volumes # Default value: None enabled: false # nodeSelector: Define node selection constraints for node pods. # For the pod to be eligible to run on a node, the node must have each # of the indicated key-value pairs as labels. # Leave as blank to consider all nodes # Allowed values: map of key-value pairs # Default value: None nodeSelector: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # node-role.kubernetes.io/master: "" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # node-role.kubernetes.io/control-plane: "" # tolerations: Define tolerations for the node daemonset, if required. # Default value: None tolerations: # Uncomment if nodes you wish to use have the node-role.kubernetes.io/master taint # - key: "node-role.kubernetes.io/master" # operator: "Exists" # effect: "NoExecute" # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint # - key: "node-role.kubernetes.io/control-plane" # operator: "Exists" # effect: "NoExecute" # - key: "node.kubernetes.io/memory-pressure" # operator: "Exists" # effect: "NoExecute" # - key: "node.kubernetes.io/disk-pressure" # operator: "Exists" # effect: "NoExecute" # - key: "node.kubernetes.io/network-unavailable" # operator: "Exists" # effect: "NoExecute" # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled # - key: "offline.vxflexos.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "vxflexos.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "offline.unity.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "unity.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "offline.isilon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # - key: "isilon.podmon.storage.dell.com" # operator: "Exists" # effect: "NoSchedule" # CSM module attributes # service to monitor failing jobs and notify podmon: # enabled - flag to enable or disable podmon # allowed values : boolean # defaule value : None # Examples : true , false enabled: false controller: args: - "--csisock=unix:/var/run/csi/csi.sock" - "--labelvalue=csi-unity" - "--driverPath=csi-unity.dellemc.com" - "--mode=controller" - "--skipArrayConnectionValidation=false" - "--driver-config-params=/unity-config/driver-config-params.yaml" - "--driverPodLabelValue=dell-storage" - "--ignoreVolumelessPods=false" node: args: - "--csisock=unix:/var/lib/kubelet/plugins/unity.emc.dell.com/csi_sock" - "--labelvalue=csi-unity" - "--driverPath=csi-unity.dellemc.com" - "--mode=node" - "--leaderelection=false" - "--driver-config-params=/unity-config/driver-config-params.yaml" - "--driverPodLabelValue=dell-storage" - "--ignoreVolumelessPods=false" ### The below parameters have been discontinued for configuration from secret.yaml and will have to be configured only in values.yaml # syncNodeInfoInterval - Time interval to add node info to array. Default 15 minutes. Minimum value should be 1. # Allowed values: integer # Default value: 15 # Examples : 0 , 2 syncNodeInfoInterval: 15 # allowRWOMultiPodAccess - Flag to enable sharing of volumes across multiple pods within the same node in RWO access mode. # Allowed values: boolean # Default value: "false" # Examples : "true" , "false" allowRWOMultiPodAccess: "false" # maxUnityVolumesPerNode - Maximum number of volumes that controller can publish to the node. # Allowed values: integer # Default value: 0 # Examples : 0 , 1 maxUnityVolumesPerNode: 0 # tenantName - Tenant name that need to added while adding host entry to the array. # Allowed values: string # Default value: "" # Examples : "tenant2" , "tenant3" tenantName: "" # Storage Capacity Tracking # Note: Capacity tracking is supported in kubernetes v1.24 and above, this feature will be automatically disabled in older versions. storageCapacity: # enabled : Enable/Disable storage capacity tracking # Allowed values: # true: enable storage capacity tracking # false: disable storage capacity tracking # Default value: true enabled: true # pollInterval : Configure how often external-provisioner polls the driver to detect changed capacity # Allowed values: 1m,2m,3m,...,10m,...,60m etc # Default value: 5m pollInterval: 5m