mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 02:33:34 +00:00
Merge pull request #390 from ShyamsundarR/stateless-cephfs
Make CephFS plugin stateless reusing RADOS based journal scheme
This commit is contained in:
@ -9,16 +9,13 @@ By default, they look for the YAML manifests in
|
||||
`../../deploy/{rbd,cephfs}/kubernetes`.
|
||||
You can override this path by running `$ ./plugin-deploy.sh /path/to/my/manifests`.
|
||||
|
||||
## Creating CSI configuration for RBD based provisioning
|
||||
## Creating CSI configuration
|
||||
|
||||
**NOTE:** This section is not required for cephfs based provisioning, and SHOULD
|
||||
be skipped.
|
||||
|
||||
For RBD based provisioning, the CSI plugin requires configuration information
|
||||
regarding the Ceph cluster(s), that would host the RBD based block devices. This
|
||||
The CSI plugin requires configuration information regarding the Ceph cluster(s),
|
||||
that would host the dynamically or statically provisioned volumes. This
|
||||
is provided by adding a per-cluster identifier (referred to as clusterID), and
|
||||
the required monitor details for the same, as in the provided [sample config
|
||||
map](./rbd/csi-config-map-sample.yaml).
|
||||
map](./csi-config-map-sample.yaml).
|
||||
|
||||
Gather the following information from the Ceph cluster(s) of choice,
|
||||
|
||||
@ -31,12 +28,12 @@ Gather the following information from the Ceph cluster(s) of choice,
|
||||
* Alternatively, choose a `<cluster-id>` value that is distinct per Ceph
|
||||
cluster in use by this kubernetes cluster
|
||||
|
||||
Update the [sample config map](./rbd/csi-config-map-sample.yaml) with values
|
||||
Update the [sample config map](./csi-config-map-sample.yaml) with values
|
||||
from a Ceph cluster and replace `<cluster-id>` with the chosen clusterID, to
|
||||
create the manifest for the config map which can be updated in the cluster
|
||||
using the following command,
|
||||
|
||||
* `kubectl replace -f rbd/csi-config-map-sample.yaml`
|
||||
* `kubectl replace -f ./csi-config-map-sample.yaml`
|
||||
|
||||
Storage class and snapshot class, using `<cluster-id>` as the value for the
|
||||
option `clusterID`, can now be created on the cluster.
|
||||
|
@ -8,7 +8,7 @@ fi
|
||||
|
||||
cd "$deployment_base" || exit 1
|
||||
|
||||
objects=(csi-provisioner-rbac csi-nodeplugin-rbac csi-cephfsplugin-provisioner csi-cephfsplugin)
|
||||
objects=(csi-provisioner-rbac csi-nodeplugin-rbac csi-config-map csi-cephfsplugin-provisioner csi-cephfsplugin)
|
||||
|
||||
for obj in "${objects[@]}"; do
|
||||
kubectl create -f "./$obj.yaml"
|
||||
|
@ -8,7 +8,7 @@ fi
|
||||
|
||||
cd "$deployment_base" || exit 1
|
||||
|
||||
objects=(csi-cephfsplugin-provisioner csi-cephfsplugin csi-provisioner-rbac csi-nodeplugin-rbac)
|
||||
objects=(csi-cephfsplugin-provisioner csi-cephfsplugin csi-config-map csi-provisioner-rbac csi-nodeplugin-rbac)
|
||||
|
||||
for obj in "${objects[@]}"; do
|
||||
kubectl delete -f "./$obj.yaml"
|
||||
|
@ -5,10 +5,10 @@ metadata:
|
||||
name: csi-cephfs-secret
|
||||
namespace: default
|
||||
data:
|
||||
# Required if provisionVolume is set to false
|
||||
# Required for statically provisioned volumes
|
||||
userID: BASE64-ENCODED-VALUE
|
||||
userKey: BASE64-ENCODED-VALUE
|
||||
|
||||
# Required if provisionVolume is set to true
|
||||
# Required for dynamically provisioned volumes
|
||||
adminID: BASE64-ENCODED-VALUE
|
||||
adminKey: BASE64-ENCODED-VALUE
|
||||
|
@ -5,27 +5,21 @@ metadata:
|
||||
name: csi-cephfs-sc
|
||||
provisioner: cephfs.csi.ceph.com
|
||||
parameters:
|
||||
# Comma separated list of Ceph monitors
|
||||
# if using FQDN, make sure csi plugin's dns policy is appropriate.
|
||||
monitors: mon1:port,mon2:port,...
|
||||
# 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 config map 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>
|
||||
|
||||
# For provisionVolume: "true":
|
||||
# A new volume will be created along with a new Ceph user.
|
||||
# Requires admin credentials (adminID, adminKey).
|
||||
# For provisionVolume: "false":
|
||||
# It is assumed the volume already exists and the user is expected
|
||||
# to provide path to that volume (rootPath) and user credentials
|
||||
# (userID, userKey).
|
||||
provisionVolume: "true"
|
||||
# CephFS filesystem name into which the volume shall be created
|
||||
fsName: myfs
|
||||
|
||||
# Ceph pool into which the volume shall be created
|
||||
# Required for provisionVolume: "true"
|
||||
pool: cephfs_data
|
||||
|
||||
# Root path of an existing CephFS volume
|
||||
# Required for provisionVolume: "false"
|
||||
# rootPath: /absolute/path
|
||||
|
||||
# The secrets have to contain user and/or Ceph admin credentials.
|
||||
csi.storage.k8s.io/provisioner-secret-name: csi-cephfs-secret
|
||||
csi.storage.k8s.io/provisioner-secret-namespace: default
|
||||
|
@ -8,7 +8,7 @@ fi
|
||||
|
||||
cd "$deployment_base" || exit 1
|
||||
|
||||
objects=(csi-provisioner-rbac csi-nodeplugin-rbac csi-rbdplugin-provisioner csi-rbdplugin)
|
||||
objects=(csi-provisioner-rbac csi-nodeplugin-rbac csi-config-map csi-rbdplugin-provisioner csi-rbdplugin)
|
||||
|
||||
for obj in "${objects[@]}"; do
|
||||
kubectl create -f "./$obj.yaml"
|
||||
|
@ -8,7 +8,7 @@ fi
|
||||
|
||||
cd "$deployment_base" || exit 1
|
||||
|
||||
objects=(csi-rbdplugin-provisioner csi-rbdplugin csi-provisioner-rbac csi-nodeplugin-rbac)
|
||||
objects=(csi-rbdplugin-provisioner csi-rbdplugin csi-config-map csi-provisioner-rbac csi-nodeplugin-rbac)
|
||||
|
||||
for obj in "${objects[@]}"; do
|
||||
kubectl delete -f "./$obj.yaml"
|
||||
|
Reference in New Issue
Block a user