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 RADOS Gateway parameters.
Create a Ceph Object Storage user¶
Edit the
CephDeploymentCR by adding a new Ceph Object Storage user to thespecsection:kubectl -n pelagia edit cephdpl
Example 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 yaml
Example 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 yaml
Example output:
status: secretInfo: rgwUserSecrets: - name: user-a secretName: rook-ceph-object-user-<objstoreName>-<username> secretNamespace: rook-ceph
Substitute
<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; echo
Substitute 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; echo
Example 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