-
Notifications
You must be signed in to change notification settings - Fork 3
/
storage_csm_powerstore_v291.yaml
211 lines (202 loc) · 9.3 KB
/
storage_csm_powerstore_v291.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#
#
# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
apiVersion: storage.dell.com/v1
kind: ContainerStorageModule
metadata:
name: powerstore
namespace: powerstore
spec:
driver:
csiDriverType: "powerstore"
csiDriverSpec:
# fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted.
# Allowed values: ReadWriteOnceWithFSType, File , None
# Default value: ReadWriteOnceWithFSType
fSGroupPolicy: "ReadWriteOnceWithFSType"
# storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array
# Allowed values:
# true: enable storage capacity tracking
# false: disable storage capacity tracking
storageCapacity: true
# Config version for CSI PowerStore v2.9.1 driver
configVersion: v2.9.1
# authSecret: This is the secret used to validate the default PowerStore secret used for installation
# Allowed values: <metadataName specified in the Manifest>-config
# For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config
authSecret: powerstore-config
# Controller count
replicas: 2
dnsPolicy: ClusterFirstWithHostNet
forceUpdate: false
forceRemoveDriver: true
common:
# Image for CSI PowerStore driver v2.9.1
image: "dellemc/csi-powerstore:v2.9.1"
imagePullPolicy: IfNotPresent
envs:
- name: X_CSI_POWERSTORE_NODE_NAME_PREFIX
value: "csi-node"
- name: X_CSI_FC_PORTS_FILTER_FILE_PATH
value: "/etc/fc-ports-filter"
# Specify kubelet config dir path.
# Ensure that the config.yaml file is present at this path.
# Default value: /var/lib/kubelet
- name: KUBELET_CONFIG_DIR
value: /var/lib/kubelet
- name: CSI_LOG_LEVEL
value: debug
sideCars:
# 'csivol' represents a string prepended to each volume created by the CSI driver
- name: provisioner
args: ["--volume-name-prefix=csivol"]
# health monitor is disabled by default, refer to driver documentation before enabling it
- name: external-health-monitor
enabled: false
args: ["--monitor-interval=60s"]
# Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity
# Configure only when the storageCapacity is set as "true"
# Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m
#- name: provisioner
# args: ["--capacity-poll-interval=5m"]
controller:
envs:
# X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory
# This value will be the default value if a storage class and array config in secret
# do not contain the NFS ACL (nfsAcls) parameter specified
# 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"
- name: X_CSI_NFS_ACLS
value: "0777"
# X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition.
# Install the 'external-health-monitor' sidecar accordingly.
# Allowed values:
# true: enable checking of health condition of CSI volumes
# false: disable checking of health condition of CSI volumes
# Default value: false
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: "false"
# X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries.
# Allowed Values: x.x.x.x/xx or x.x.x.x
# Default Value:
- name: X_CSI_POWERSTORE_EXTERNAL_ACCESS
value:
# 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/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/control-plane taint
# - key: "node-role.kubernetes.io/control-plane"
# operator: "Exists"
# effect: "NoSchedule"
node:
envs:
# Set to "true" to enable ISCSI CHAP Authentication
# CHAP password will be autogenerated by driver
- name: "X_CSI_POWERSTORE_ENABLE_CHAP"
value: "false"
# X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage
# Allowed values:
# true: enable checking of health condition of CSI volumes
# false: disable checking of health condition of CSI volumes
# Default value: false
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: "false"
# X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE: Defines the maximum PowerStore volumes that can be created per node
# Allowed values: Any value greater than or equal to 0
# Default value: "0"
- name: X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE
value: "0"
# 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/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/control-plane taint
# - key: "node-role.kubernetes.io/control-plane"
# operator: "Exists"
# effect: "NoSchedule"
modules:
- name: resiliency
# enabled: Enable/Disable Resiliency feature
# Allowed values:
# true: enable Resiliency feature(deploy podmon sidecar)
# false: disable Resiliency feature(do not deploy podmon sidecar)
# Default value: false
enabled: false
configVersion: v1.8.1
components:
- name: podmon-controller
image: dellemc/podmon:v1.8.1
imagePullPolicy: IfNotPresent
args:
- "--labelvalue=csi-powerstore"
- "--arrayConnectivityPollRate=60"
- "--skipArrayConnectionValidation=false"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"
- "--arrayConnectivityConnectionLossThreshold=3"
# Below 4 args should not be modified.
- "--csisock=unix:/var/run/csi/csi.sock"
- "--mode=controller"
- "--driver-config-params=/powerstore-config-params/driver-config-params.yaml"
- "--driverPath=csi-powerstore.dellemc.com"
- name: podmon-node
image: dellemc/podmon:v1.8.1
imagePullPolicy: IfNotPresent
envs:
# podmonAPIPort: Defines the port to be used within the kubernetes cluster
# Allowed values: Any valid and free port (string)
# Default value: 8083
- name: "X_CSI_PODMON_API_PORT"
value: "8083"
args:
- "--labelvalue=csi-powerstore"
- "--arrayConnectivityPollRate=60"
- "--leaderelection=false"
- "--driverPodLabelValue=dell-storage"
- "--ignoreVolumelessPods=false"
# Below 4 args should not be modified.
- "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock"
- "--mode=node"
- "--driver-config-params=/powerstore-config-params/driver-config-params.yaml"
- "--driverPath=csi-powerstore.dellemc.com"