Mohammed Naser | 9ad0d46 | 2023-01-15 20:36:37 -0500 | [diff] [blame] | 1 | --- |
| 2 | rbac: |
| 3 | # Specifies whether RBAC resources should be created |
| 4 | create: true |
| 5 | |
| 6 | serviceAccounts: |
| 7 | nodeplugin: |
| 8 | # Specifies whether a ServiceAccount should be created |
| 9 | create: true |
| 10 | # The name of the ServiceAccount to use. |
| 11 | # If not set and create is true, a name is generated using the fullname |
| 12 | name: |
| 13 | provisioner: |
| 14 | # Specifies whether a ServiceAccount should be created |
| 15 | create: true |
| 16 | # The name of the ServiceAccount to use. |
| 17 | # If not set and create is true, a name is generated using the fullname |
| 18 | name: |
| 19 | |
| 20 | # Configuration for the CSI to connect to the cluster |
| 21 | # Ref: https://github.com/ceph/ceph-csi/blob/devel/examples/README.md |
| 22 | # Example: |
| 23 | # csiConfig: |
| 24 | # - clusterID: "<cluster-id>" |
| 25 | # monitors: |
| 26 | # - "<MONValue1>" |
| 27 | # - "<MONValue2>" |
| 28 | csiConfig: [] |
| 29 | |
| 30 | # Configuration details of clusterID,PoolID and FscID mapping |
| 31 | # csiMapping: |
| 32 | # - clusterIDMapping: |
| 33 | # clusterID on site1: clusterID on site2 |
| 34 | # RBDPoolIDMapping: |
| 35 | # - poolID on site1: poolID on site2 |
| 36 | # CephFSFscIDMapping: |
| 37 | # - CephFS FscID on site1: CephFS FscID on site2 |
| 38 | csiMapping: [] |
| 39 | |
| 40 | # Configuration for the encryption KMS |
| 41 | # Ref: https://github.com/ceph/ceph-csi/blob/devel/docs/deploy-rbd.md |
| 42 | # Example: |
| 43 | # encryptionKMSConfig: |
| 44 | # vault-unique-id-1: |
| 45 | # encryptionKMSType: vault |
| 46 | # vaultAddress: https://vault.example.com |
| 47 | # vaultAuthPath: /v1/auth/kubernetes/login |
| 48 | # vaultRole: csi-kubernetes |
| 49 | # vaultPassphraseRoot: /v1/secret |
| 50 | # vaultPassphrasePath: ceph-csi/ |
| 51 | # vaultCAVerify: "false" |
| 52 | encryptionKMSConfig: {} |
| 53 | |
| 54 | # Set logging level for csi containers. |
| 55 | # Supported values from 0 to 5. 0 for general useful logs, |
| 56 | # 5 for trace level verbosity. |
| 57 | logLevel: 5 |
| 58 | |
| 59 | nodeplugin: |
| 60 | name: nodeplugin |
| 61 | # set user created priorityclassName for csi plugin pods. default is |
| 62 | # system-node-critical which is high priority |
| 63 | priorityClassName: system-node-critical |
| 64 | # if you are using rbd-nbd client set this value to OnDelete |
| 65 | updateStrategy: RollingUpdate |
| 66 | |
| 67 | httpMetrics: |
| 68 | # Metrics only available for cephcsi/cephcsi => 1.2.0 |
| 69 | # Specifies whether http metrics should be exposed |
| 70 | enabled: true |
| 71 | # The port of the container to expose the metrics |
| 72 | containerPort: 8080 |
| 73 | |
| 74 | service: |
| 75 | # Specifies whether a service should be created for the metrics |
| 76 | enabled: true |
| 77 | # The port to use for the service |
| 78 | servicePort: 8080 |
| 79 | type: ClusterIP |
| 80 | |
| 81 | # Annotations for the service |
| 82 | # Example: |
| 83 | # annotations: |
| 84 | # prometheus.io/scrape: "true" |
| 85 | # prometheus.io/port: "8080" |
| 86 | annotations: {} |
| 87 | |
| 88 | clusterIP: "" |
| 89 | |
| 90 | ## List of IP addresses at which the stats-exporter service is available |
| 91 | ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips |
| 92 | ## |
| 93 | externalIPs: [] |
| 94 | |
| 95 | loadBalancerIP: "" |
| 96 | loadBalancerSourceRanges: [] |
| 97 | |
| 98 | profiling: |
| 99 | # enable profiling to check for memory leaks |
| 100 | enabled: false |
| 101 | |
| 102 | registrar: |
| 103 | image: |
| 104 | repository: k8s.gcr.io/sig-storage/csi-node-driver-registrar |
| 105 | tag: v2.4.0 |
| 106 | pullPolicy: IfNotPresent |
| 107 | resources: {} |
| 108 | |
| 109 | plugin: |
| 110 | image: |
| 111 | repository: quay.io/cephcsi/cephcsi |
| 112 | tag: v3.5.1 |
| 113 | pullPolicy: IfNotPresent |
| 114 | resources: {} |
| 115 | |
| 116 | nodeSelector: {} |
| 117 | |
| 118 | tolerations: [] |
| 119 | |
| 120 | affinity: {} |
| 121 | |
| 122 | # If true, create & use Pod Security Policy resources |
| 123 | # https://kubernetes.io/docs/concepts/policy/pod-security-policy/ |
| 124 | podSecurityPolicy: |
| 125 | enabled: false |
| 126 | |
| 127 | provisioner: |
| 128 | name: provisioner |
| 129 | replicaCount: 3 |
| 130 | strategy: |
| 131 | # RollingUpdate strategy replaces old pods with new ones gradually, |
| 132 | # without incurring downtime. |
| 133 | type: RollingUpdate |
| 134 | rollingUpdate: |
| 135 | # maxUnavailable is the maximum number of pods that can be |
| 136 | # unavailable during the update process. |
| 137 | maxUnavailable: 50% |
| 138 | # if fstype is not specified in storageclass, ext4 is default |
| 139 | defaultFSType: ext4 |
| 140 | # deployController to enable or disable the deployment of controller which |
| 141 | # generates the OMAP data if its not Present. |
| 142 | deployController: true |
| 143 | # Timeout for waiting for creation or deletion of a volume |
| 144 | timeout: 60s |
| 145 | # Hard limit for maximum number of nested volume clones that are taken before |
| 146 | # a flatten occurs |
| 147 | hardMaxCloneDepth: 8 |
| 148 | # Soft limit for maximum number of nested volume clones that are taken before |
| 149 | # a flatten occurs |
| 150 | softMaxCloneDepth: 4 |
| 151 | # Maximum number of snapshots allowed on rbd image without flattening |
| 152 | maxSnapshotsOnImage: 450 |
| 153 | # Minimum number of snapshots allowed on rbd image to trigger flattening |
| 154 | minSnapshotsOnImage: 250 |
| 155 | # skip image flattening if kernel support mapping of rbd images |
| 156 | # which has the deep-flatten feature |
| 157 | # skipForceFlatten: false |
| 158 | |
| 159 | # set user created priorityclassName for csi provisioner pods. default is |
| 160 | # system-cluster-critical which is less priority than system-node-critical |
| 161 | priorityClassName: system-cluster-critical |
| 162 | |
| 163 | httpMetrics: |
| 164 | # Metrics only available for cephcsi/cephcsi => 1.2.0 |
| 165 | # Specifies whether http metrics should be exposed |
| 166 | enabled: true |
| 167 | # The port of the container to expose the metrics |
| 168 | containerPort: 8080 |
| 169 | |
| 170 | service: |
| 171 | # Specifies whether a service should be created for the metrics |
| 172 | enabled: true |
| 173 | # The port to use for the service |
| 174 | servicePort: 8080 |
| 175 | type: ClusterIP |
| 176 | |
| 177 | # Annotations for the service |
| 178 | # Example: |
| 179 | # annotations: |
| 180 | # prometheus.io/scrape: "true" |
| 181 | # prometheus.io/port: "8080" |
| 182 | annotations: {} |
| 183 | |
| 184 | clusterIP: "" |
| 185 | |
| 186 | ## List of IP addresses at which the stats-exporter service is available |
| 187 | ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips |
| 188 | ## |
| 189 | externalIPs: [] |
| 190 | |
| 191 | loadBalancerIP: "" |
| 192 | loadBalancerSourceRanges: [] |
| 193 | |
| 194 | profiling: |
| 195 | # enable profiling to check for memory leaks |
| 196 | enabled: false |
| 197 | |
| 198 | provisioner: |
| 199 | image: |
| 200 | repository: k8s.gcr.io/sig-storage/csi-provisioner |
| 201 | tag: v3.1.0 |
| 202 | pullPolicy: IfNotPresent |
| 203 | resources: {} |
| 204 | |
| 205 | attacher: |
| 206 | name: attacher |
| 207 | enabled: true |
| 208 | image: |
| 209 | repository: k8s.gcr.io/sig-storage/csi-attacher |
| 210 | tag: v3.4.0 |
| 211 | pullPolicy: IfNotPresent |
| 212 | resources: {} |
| 213 | |
| 214 | resizer: |
| 215 | name: resizer |
| 216 | enabled: true |
| 217 | image: |
| 218 | repository: k8s.gcr.io/sig-storage/csi-resizer |
| 219 | tag: v1.3.0 |
| 220 | pullPolicy: IfNotPresent |
| 221 | resources: {} |
| 222 | |
| 223 | snapshotter: |
| 224 | image: |
| 225 | repository: k8s.gcr.io/sig-storage/csi-snapshotter |
| 226 | tag: v4.2.0 |
| 227 | pullPolicy: IfNotPresent |
| 228 | resources: {} |
| 229 | |
| 230 | nodeSelector: {} |
| 231 | |
| 232 | tolerations: [] |
| 233 | |
| 234 | affinity: {} |
| 235 | |
| 236 | # If true, create & use Pod Security Policy resources |
| 237 | # https://kubernetes.io/docs/concepts/policy/pod-security-policy/ |
| 238 | podSecurityPolicy: |
| 239 | enabled: false |
| 240 | |
| 241 | topology: |
| 242 | # Specifies whether topology based provisioning support should |
| 243 | # be exposed by CSI |
| 244 | enabled: false |
| 245 | # domainLabels define which node labels to use as domains |
| 246 | # for CSI nodeplugins to advertise their domains |
| 247 | # NOTE: the value here serves as an example and needs to be |
| 248 | # updated with node labels that define domains of interest |
| 249 | domainLabels: |
| 250 | - failure-domain/region |
| 251 | - failure-domain/zone |
| 252 | |
| 253 | storageClass: |
| 254 | # Specifies whether the storageclass should be created |
| 255 | create: false |
| 256 | name: csi-rbd-sc |
| 257 | |
| 258 | # Annotations for the storage class |
| 259 | # Example: |
| 260 | # annotations: |
| 261 | # storageclass.kubernetes.io/is-default-class: "true" |
| 262 | annotations: {} |
| 263 | |
| 264 | # (required) String representing a Ceph cluster to provision storage from. |
| 265 | # Should be unique across all Ceph clusters in use for provisioning, |
| 266 | # cannot be greater than 36 bytes in length, and should remain immutable for |
| 267 | # the lifetime of the StorageClass in use. |
| 268 | clusterID: <cluster-ID> |
| 269 | |
| 270 | # (optional) If you want to use erasure coded pool with RBD, you need to |
| 271 | # create two pools. one erasure coded and one replicated. |
| 272 | # You need to specify the replicated pool here in the `pool` parameter, it is |
| 273 | # used for the metadata of the images. |
| 274 | # The erasure coded pool must be set as the `dataPool` parameter below. |
| 275 | # dataPool: <ec-data-pool> |
| 276 | dataPool: "" |
| 277 | |
| 278 | # (required) Ceph pool into which the RBD image shall be created |
| 279 | # eg: pool: replicapool |
| 280 | pool: replicapool |
| 281 | |
| 282 | # Set thickProvision to true if you want RBD images to be fully allocated on |
| 283 | # creation (thin provisioning is the default). |
| 284 | thickProvision: false |
| 285 | |
| 286 | # (required) RBD image features, CSI creates image with image-format 2 |
| 287 | # CSI RBD currently supports `layering`, `journaling`, `exclusive-lock`, |
| 288 | # `object-map`, `fast-diff` features. If `journaling` is enabled, must |
| 289 | # enable `exclusive-lock` too. |
| 290 | # imageFeatures: layering,journaling,exclusive-lock,object-map,fast-diff |
| 291 | imageFeatures: "layering" |
| 292 | |
| 293 | # (optional) Specifies whether to try other mounters in case if the current |
| 294 | # mounter fails to mount the rbd image for any reason. True means fallback |
| 295 | # to next mounter, default is set to false. |
| 296 | # Note: tryOtherMounters is currently useful to fallback from krbd to rbd-nbd |
| 297 | # in case if any of the specified imageFeatures is not supported by krbd |
| 298 | # driver on node scheduled for application pod launch, but in the future this |
| 299 | # should work with any mounter type. |
| 300 | # tryOtherMounters: false |
| 301 | |
| 302 | # (optional) uncomment the following to use rbd-nbd as mounter |
| 303 | # on supported nodes |
| 304 | # mounter: rbd-nbd |
| 305 | mounter: "" |
| 306 | |
| 307 | # (optional) ceph client log location, eg: rbd-nbd |
| 308 | # By default host-path /var/log/ceph of node is bind-mounted into |
| 309 | # csi-rbdplugin pod at /var/log/ceph mount path. This is to configure |
| 310 | # target bindmount path used inside container for ceph clients logging. |
| 311 | # See docs/rbd-nbd.md for available configuration options. |
| 312 | # cephLogDir: /var/log/ceph |
| 313 | cephLogDir: "" |
| 314 | |
| 315 | # (optional) ceph client log strategy |
| 316 | # By default, log file belonging to a particular volume will be deleted |
| 317 | # on unmap, but you can choose to just compress instead of deleting it |
| 318 | # or even preserve the log file in text format as it is. |
| 319 | # Available options `remove` or `compress` or `preserve` |
| 320 | # cephLogStrategy: remove |
| 321 | cephLogStrategy: "" |
| 322 | |
| 323 | # (optional) Prefix to use for naming RBD images. |
| 324 | # If omitted, defaults to "csi-vol-". |
| 325 | # volumeNamePrefix: "foo-bar-" |
| 326 | volumeNamePrefix: "" |
| 327 | |
| 328 | # (optional) Instruct the plugin it has to encrypt the volume |
| 329 | # By default it is disabled. Valid values are "true" or "false". |
| 330 | # A string is expected here, i.e. "true", not true. |
| 331 | # encrypted: "true" |
| 332 | encrypted: "" |
| 333 | |
| 334 | # (optional) Use external key management system for encryption passphrases by |
| 335 | # specifying a unique ID matching KMS ConfigMap. The ID is only used for |
| 336 | # correlation to configmap entry. |
| 337 | encryptionKMSID: "" |
| 338 | |
| 339 | # Add topology constrained pools configuration, if topology based pools |
| 340 | # are setup, and topology constrained provisioning is required. |
| 341 | # For further information read TODO<doc> |
| 342 | # topologyConstrainedPools: | |
| 343 | # [{"poolName":"pool0", |
| 344 | # "dataPool":"ec-pool0" # optional, erasure-coded pool for data |
| 345 | # "domainSegments":[ |
| 346 | # {"domainLabel":"region","value":"east"}, |
| 347 | # {"domainLabel":"zone","value":"zone1"}]}, |
| 348 | # {"poolName":"pool1", |
| 349 | # "dataPool":"ec-pool1" # optional, erasure-coded pool for data |
| 350 | # "domainSegments":[ |
| 351 | # {"domainLabel":"region","value":"east"}, |
| 352 | # {"domainLabel":"zone","value":"zone2"}]}, |
| 353 | # {"poolName":"pool2", |
| 354 | # "dataPool":"ec-pool2" # optional, erasure-coded pool for data |
| 355 | # "domainSegments":[ |
| 356 | # {"domainLabel":"region","value":"west"}, |
| 357 | # {"domainLabel":"zone","value":"zone1"}]} |
| 358 | # ] |
| 359 | topologyConstrainedPools: [] |
| 360 | |
| 361 | # (optional) mapOptions is a comma-separated list of map options. |
| 362 | # For krbd options refer |
| 363 | # https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options |
| 364 | # For nbd options refer |
| 365 | # https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options |
| 366 | # Format: |
| 367 | # mapOptions: "<mounter>:op1,op2;<mounter>:op1,op2" |
| 368 | # An empty mounter field is treated as krbd type for compatibility. |
| 369 | # eg: |
| 370 | # mapOptions: "krbd:lock_on_read,queue_depth=1024;nbd:try-netlink" |
| 371 | mapOptions: "" |
| 372 | |
| 373 | # (optional) unmapOptions is a comma-separated list of unmap options. |
| 374 | # For krbd options refer |
| 375 | # https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options |
| 376 | # For nbd options refer |
| 377 | # https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options |
| 378 | # Format: |
| 379 | # unmapOptions: "<mounter>:op1,op2;<mounter>:op1,op2" |
| 380 | # An empty mounter field is treated as krbd type for compatibility. |
| 381 | # eg: |
| 382 | # unmapOptions: "krbd:force;nbd:force" |
| 383 | unmapOptions: "" |
| 384 | |
| 385 | # The secrets have to contain Ceph credentials with required access |
| 386 | # to the 'pool'. |
| 387 | provisionerSecret: csi-rbd-secret |
| 388 | # If Namespaces are left empty, the secrets are assumed to be in the |
| 389 | # Release namespace. |
| 390 | provisionerSecretNamespace: "" |
| 391 | controllerExpandSecret: csi-rbd-secret |
| 392 | controllerExpandSecretNamespace: "" |
| 393 | nodeStageSecret: csi-rbd-secret |
| 394 | nodeStageSecretNamespace: "" |
| 395 | # Specify the filesystem type of the volume. If not specified, |
| 396 | # csi-provisioner will set default as `ext4`. |
| 397 | fstype: ext4 |
| 398 | reclaimPolicy: Delete |
| 399 | allowVolumeExpansion: true |
| 400 | mountOptions: [] |
| 401 | # Mount Options |
| 402 | # Example: |
| 403 | # mountOptions: |
| 404 | # - discard |
| 405 | |
| 406 | secret: |
| 407 | # Specifies whether the secret should be created |
| 408 | create: false |
| 409 | name: csi-rbd-secret |
| 410 | # Key values correspond to a user name and its key, as defined in the |
| 411 | # ceph cluster. User ID should have required access to the 'pool' |
| 412 | # specified in the storage class |
| 413 | userID: <plaintext ID> |
| 414 | userKey: <Ceph auth key corresponding to userID above> |
| 415 | # Encryption passphrase |
| 416 | encryptionPassphrase: test_passphrase |
| 417 | |
| 418 | # This is a sample configmap that helps define a Ceph configuration as required |
| 419 | # by the CSI plugins. |
| 420 | # Sample ceph.conf available at |
| 421 | # https://github.com/ceph/ceph/blob/master/src/sample.ceph.conf Detailed |
| 422 | # documentation is available at |
| 423 | # https://docs.ceph.com/en/latest/rados/configuration/ceph-conf/ |
| 424 | cephconf: | |
| 425 | [global] |
| 426 | auth_cluster_required = cephx |
| 427 | auth_service_required = cephx |
| 428 | auth_client_required = cephx |
| 429 | |
| 430 | # Workaround for http://tracker.ceph.com/issues/23446 |
| 431 | fuse_set_user_groups = false |
| 432 | |
| 433 | # ceph-fuse which uses libfuse2 by default has write buffer size of 2KiB |
| 434 | # adding 'fuse_big_writes = true' option by default to override this limit |
| 435 | # see https://github.com/ceph/ceph-csi/issues/1928 |
| 436 | fuse_big_writes = true |
| 437 | |
| 438 | ######################################################### |
| 439 | # Variables for 'internal' use please use with caution! # |
| 440 | ######################################################### |
| 441 | |
| 442 | # The filename of the provisioner socket |
| 443 | provisionerSocketFile: csi-provisioner.sock |
| 444 | # The filename of the plugin socket |
| 445 | pluginSocketFile: csi.sock |
| 446 | # kubelet working directory,can be set using `--root-dir` when starting kubelet. |
| 447 | kubeletDir: /var/lib/kubelet |
| 448 | # Host path location for ceph client processes logging, ex: rbd-nbd |
| 449 | cephLogDirHostPath: /var/log/ceph |
| 450 | # Name of the csi-driver |
| 451 | driverName: rbd.csi.ceph.com |
| 452 | # Name of the configmap used for state |
| 453 | configMapName: ceph-csi-config |
| 454 | # Key to use in the Configmap if not config.json |
| 455 | # configMapKey: |
| 456 | # Use an externally provided configmap |
| 457 | externallyManagedConfigmap: false |
| 458 | # Name of the configmap used for encryption kms configuration |
| 459 | kmsConfigMapName: ceph-csi-encryption-kms-config |