ceph-csi/examples/csi-config-map-sample.yaml

76 lines
2.9 KiB
YAML
Raw Normal View History

---
# This is a sample configmap that helps define a Ceph cluster configuration
# as required by the CSI plugins.
apiVersion: v1
kind: ConfigMap
# Lets see the different configuration under config.json key.
# The <cluster-id> is used by the CSI plugin to uniquely identify and use a
# Ceph cluster, the value MUST match the value provided as `clusterID` in the
# StorageClass
# The <MONValue#> fields are the various monitor addresses for the Ceph cluster
# identified by the <cluster-id>
# If a CSI plugin is using more than one Ceph cluster, repeat the section for
# each such cluster in use.
# To add more clusters or edit MON addresses in an existing configmap, use
# the `kubectl replace` command.
# The <rados-namespace> is optional and represents a radosNamespace in the pool.
# If any given, all of the rbd images, snapshots, and other metadata will be
# stored within the radosNamespace.
# NOTE: The given radosNamespace must already exists in the pool.
# NOTE: Make sure you don't add radosNamespace option to a currently in use
# configuration as it will cause issues.
# The field "cephFS.subvolumeGroup" is optional and defaults to "csi".
# The <netNamespaceFilePath#> fields are the various network namespace
# path for the Ceph cluster identified by the <cluster-id>, This will be used
# by the CSI plugin to execute the rbd map/unmap and mount -t commands in the
# network namespace specified by the <netNamespaceFilePath#>.
# If a CSI plugin is using more than one Ceph cluster, repeat the section for
# each such cluster in use.
# NOTE: Changes to the configmap is automatically updated in the running pods,
# thus restarting existing pods using the configmap is NOT required on edits
# to the configmap.
# Lets see the different configuration under cluster-mapping.json key.
# This configuration is needed when volumes are mirrored using the Ceph-CSI.
# clusterIDMapping holds the mapping between two clusterId's of storage
# clusters.
# RBDPoolIDMapping holds the mapping between two poolId's of storage clusters.
# CephFSFscIDMapping holds the mapping between two FscId's of storage
# clusters.
data:
config.json: |-
[
{
"clusterID": "<cluster-id>",
"radosNamespace": "<rados-namespace>",
"netNamespaceFilePath": "<kubeletRootPath>/plugins/rbd.csi.ceph.com/net",
"monitors": [
"<MONValue1>",
"<MONValue2>",
...
"<MONValueN>"
],
"cephFS": {
"subvolumeGroup": "<subvolumegroup for cephFS volumes>"
}
}
]
cluster-mapping.json: |-
[
{
"clusterIDMapping": {
"clusterID on site1": "clusterID on site2"
},
"RBDPoolIDMapping": [{
"poolID on site1": "poolID on site2"
...
}],
"CephFSFscIDMapping": [{
"CephFS FscID on site1": "CephFS FscID on site2"
...
}]
}
]
metadata:
name: ceph-csi-config