mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-24 07:10:20 +00:00
a4678200e5
Add `mkfsOptions` to the StorageClass and pass them to the `mkfs` command while creating the filesystem on the RBD device. Fixes: #374 Signed-off-by: Niels de Vos <ndevos@ibm.com>
168 lines
7.2 KiB
YAML
168 lines
7.2 KiB
YAML
---
|
|
apiVersion: storage.k8s.io/v1
|
|
kind: StorageClass
|
|
metadata:
|
|
name: csi-rbd-sc
|
|
provisioner: rbd.csi.ceph.com
|
|
# If topology based provisioning is desired, delayed provisioning of
|
|
# PV is required and is enabled using the following attribute
|
|
# For further information read TODO<doc>
|
|
# volumeBindingMode: WaitForFirstConsumer
|
|
parameters:
|
|
# (required) String representing a Ceph cluster to provision storage from.
|
|
# Should be unique across all Ceph clusters in use for provisioning,
|
|
# cannot be greater than 36 bytes in length, and should remain immutable for
|
|
# the lifetime of the StorageClass in use.
|
|
# Ensure to create an entry in the configmap named ceph-csi-config, based on
|
|
# csi-config-map-sample.yaml, to accompany the string chosen to
|
|
# represent the Ceph cluster in clusterID below
|
|
clusterID: <cluster-id>
|
|
|
|
# (optional) If you want to use erasure coded pool with RBD, you need to
|
|
# create two pools. one erasure coded and one replicated.
|
|
# You need to specify the replicated pool here in the `pool` parameter, it is
|
|
# used for the metadata of the images.
|
|
# The erasure coded pool must be set as the `dataPool` parameter below.
|
|
# dataPool: <ec-data-pool>
|
|
|
|
# (required) Ceph pool into which the RBD image shall be created
|
|
# eg: pool: rbdpool
|
|
pool: <rbd-pool-name>
|
|
|
|
# (optional) RBD image features, CSI creates image with image-format 2 CSI
|
|
# RBD currently supports `layering`, `journaling`, `exclusive-lock`,
|
|
# `object-map`, `fast-diff`, `deep-flatten` features.
|
|
# Refer https://docs.ceph.com/en/latest/rbd/rbd-config-ref/#image-features
|
|
# for image feature dependencies.
|
|
# imageFeatures: layering,journaling,exclusive-lock,object-map,fast-diff
|
|
imageFeatures: "layering"
|
|
|
|
# (optional) Options to pass to the `mkfs` command while creating the
|
|
# filesystem on the RBD device. Check the man-page for the `mkfs` command
|
|
# for the filesystem for more details. When `mkfsOptions` is set here, the
|
|
# defaults will not be used, consider including them in this parameter.
|
|
#
|
|
# The default options depend on the csi.storage.k8s.io/fstype setting:
|
|
# - ext4: "-m0 -Enodiscard,lazy_itable_init=1,lazy_journal_init=1"
|
|
# - xfs: "-onouuid -K"
|
|
#
|
|
# mkfsOptions: "-m0 -Ediscard -i1024"
|
|
|
|
# (optional) Specifies whether to try other mounters in case if the current
|
|
# mounter fails to mount the rbd image for any reason. True means fallback
|
|
# to next mounter, default is set to false.
|
|
# Note: tryOtherMounters is currently useful to fallback from krbd to rbd-nbd
|
|
# in case if any of the specified imageFeatures is not supported by krbd
|
|
# driver on node scheduled for application pod launch, but in the future this
|
|
# should work with any mounter type.
|
|
# tryOtherMounters: false
|
|
|
|
# (optional) mapOptions is a comma-separated list of map options.
|
|
# For krbd options refer
|
|
# https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options
|
|
# For nbd options refer
|
|
# https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options
|
|
# Format:
|
|
# mapOptions: "<mounter>:op1,op2;<mounter>:op1,op2"
|
|
# An empty mounter field is treated as krbd type for compatibility.
|
|
# eg:
|
|
# mapOptions: "krbd:lock_on_read,queue_depth=1024;nbd:try-netlink"
|
|
|
|
# (optional) unmapOptions is a comma-separated list of unmap options.
|
|
# For krbd options refer
|
|
# https://docs.ceph.com/docs/master/man/8/rbd/#kernel-rbd-krbd-options
|
|
# For nbd options refer
|
|
# https://docs.ceph.com/docs/master/man/8/rbd-nbd/#options
|
|
# Format:
|
|
# unmapOptions: "<mounter>:op1,op2;<mounter>:op1,op2"
|
|
# An empty mounter field is treated as krbd type for compatibility.
|
|
# eg:
|
|
# unmapOptions: "krbd:force;nbd:force"
|
|
|
|
# The secrets have to contain Ceph credentials with required access
|
|
# to the 'pool'.
|
|
csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
|
|
csi.storage.k8s.io/provisioner-secret-namespace: default
|
|
csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret
|
|
csi.storage.k8s.io/controller-expand-secret-namespace: default
|
|
csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
|
|
csi.storage.k8s.io/node-stage-secret-namespace: default
|
|
|
|
# (optional) Specify the filesystem type of the volume. If not specified,
|
|
# csi-provisioner will set default as `ext4`.
|
|
csi.storage.k8s.io/fstype: ext4
|
|
|
|
# (optional) uncomment the following to use rbd-nbd as mounter
|
|
# on supported nodes
|
|
# mounter: rbd-nbd
|
|
|
|
# (optional) ceph client log location, eg: rbd-nbd
|
|
# By default host-path /var/log/ceph of node is bind-mounted into
|
|
# csi-rbdplugin pod at /var/log/ceph mount path. This is to configure
|
|
# target bindmount path used inside container for ceph clients logging.
|
|
# See docs/rbd-nbd.md for available configuration options.
|
|
# cephLogDir: /var/log/ceph
|
|
|
|
# (optional) ceph client log strategy
|
|
# By default, log file belonging to a particular volume will be deleted
|
|
# on unmap, but you can choose to just compress instead of deleting it
|
|
# or even preserve the log file in text format as it is.
|
|
# Available options `remove` or `compress` or `preserve`
|
|
# cephLogStrategy: remove
|
|
|
|
# (optional) Prefix to use for naming RBD images.
|
|
# If omitted, defaults to "csi-vol-".
|
|
# volumeNamePrefix: "foo-bar-"
|
|
|
|
# (optional) Instruct the plugin it has to encrypt the volume
|
|
# By default it is disabled. Valid values are "true" or "false".
|
|
# A string is expected here, i.e. "true", not true.
|
|
# encrypted: "true"
|
|
|
|
# (optional) Select the encryption type when encrypted: "true" above.
|
|
# Valid values are:
|
|
# "file": Enable file encryption on the mounted filesystem
|
|
# "block": Encrypt RBD block device
|
|
# When unspecified assume type "block". "file" and "block" are
|
|
# mutally exclusive.
|
|
# encryptionType: "block"
|
|
|
|
# (optional) Use external key management system for encryption passphrases by
|
|
# specifying a unique ID matching KMS ConfigMap. The ID is only used for
|
|
# correlation to configmap entry.
|
|
# encryptionKMSID: <kms-config-id>
|
|
|
|
# Add topology constrained pools configuration, if topology based pools
|
|
# are setup, and topology constrained provisioning is required.
|
|
# For further information read TODO<doc>
|
|
# topologyConstrainedPools: |
|
|
# [{"poolName":"pool0",
|
|
# "dataPool":"ec-pool0" # optional, erasure-coded pool for data
|
|
# "domainSegments":[
|
|
# {"domainLabel":"region","value":"east"},
|
|
# {"domainLabel":"zone","value":"zone1"}]},
|
|
# {"poolName":"pool1",
|
|
# "dataPool":"ec-pool1" # optional, erasure-coded pool for data
|
|
# "domainSegments":[
|
|
# {"domainLabel":"region","value":"east"},
|
|
# {"domainLabel":"zone","value":"zone2"}]},
|
|
# {"poolName":"pool2",
|
|
# "dataPool":"ec-pool2" # optional, erasure-coded pool for data
|
|
# "domainSegments":[
|
|
# {"domainLabel":"region","value":"west"},
|
|
# {"domainLabel":"zone","value":"zone1"}]}
|
|
# ]
|
|
|
|
# Image striping, Refer https://docs.ceph.com/en/latest/man/8/rbd/#striping
|
|
# For more details
|
|
# (optional) stripe unit in bytes.
|
|
# stripeUnit: <>
|
|
# (optional) objects to stripe over before looping.
|
|
# stripeCount: <>
|
|
# (optional) The object size in bytes.
|
|
# objectSize: <>
|
|
reclaimPolicy: Delete
|
|
allowVolumeExpansion: true
|
|
mountOptions:
|
|
- discard
|