Manage Ceph Object Storage users#
The CephDeployment custom resource (CR) allows managing custom Ceph Object Storage
users. This section describes how to create, access, and remove Ceph Object
Storage users.
For all supported parameters of Ceph Object Storage users, refer to CephDeployment: Ceph Object Storage parameters.
Create a Ceph Object Storage user#
-
Edit the
CephDeploymentCR by adding a new Ceph Object Storage user to thespecsection:kubectl -n pelagia edit cephdplExample of adding the Ceph Object Storage user
user-a:spec: objectStorage: rgw: name: rgw-store objectUsers: - capabilities: bucket: '*' metadata: read user: read displayName: user-a name: userA quotas: maxBuckets: 10 maxSize: 10G -
Wait for the created user to become ready in the
CephDeploymentHealthstatus:kubectl -n pelagia get cephdeploymenthealth -o yamlExample output:
status: healthReport: rookCephObjects: objectStorage: cephObjectStoreUsers: user-a: info: secretName: rook-ceph-object-user-rgw-store-user-a observedGeneration: 1 phase: Ready
Access data using a Ceph Object Storage user#
-
Using the
CephDeploymentSecretstatus, obtainsecretInfowith the Ceph user credentials:kubectl -n pelagia get cephdeploymentsecret -o yamlExample output:
status: secretInfo: rgwUserSecrets: - name: user-a secretName: rook-ceph-object-user-<objstoreName>-<username> secretNamespace: rook-cephSubstitute
<objstoreName>with a Ceph Object Storage name and<username>with a Ceph Object Storage user name. -
Use
secretNameandsecretNamespaceto access the Ceph Object Storage user credentials. The secret contains Amazon S3 access and secret keys.-
To obtain the user S3 access key:
kubectl -n <secretNamespace> get secret <secretName> -o jsonpath='{.data.AccessKey}' | base64 -d; echoSubstitute the following parameters in the commands above and below:
<secretNamespace>withsecretNamespacefrom the previous step<secretName>withsecretNamefrom the previous step
Example output:
D49G060HQ86U5COBTJ13 -
To obtain the user S3 secret key:
kubectl -n <secretNamespace> get secret <secretName> -o jsonpath='{.data.SecretKey}' | base64 -d; echoExample output:
bpuYqIieKvzxl6nzN0sd7L06H40kZGXNStD4UNda
-
-
Configure the S3 client with the access and secret keys of the created user. You can access the S3 client using various tools such as s3cmd or awscli.
Remove a Ceph Object Storage user#
-
Edit the
CephDeploymentCR by removing the required Ceph Object Storage user fromspec.objectStorage.rgw.objectUsers:kubectl -n pelagia edit cephdpl -
Wait for the removed user to be removed from the
CephDeploymentHealthstatus instatus.healthReport.rookCephObjects.objectStorageStatus.cephObjectStoreUsers:kubectl -n pelagia get cephdeploymenthealth -o yaml