Creating an s3 compatible Multicloud Object Gateway backingstore

Create an S3 compatible MCG backing store for IBM Storage Ceph’s RGW. When the RGW is deployed, Fusion Data Foundation operator creates an S3 compatible backingstore for MCG automatically.

The Multicloud Object Gateway (MCG) can use any S3 compatible object storage as a backing store. For example, IBM Storage Ceph’s RADOS Object Gateway (RGW).

Creating an s3 compatible Multicloud Object Gateway backingstore using the MCG command-line interface

  • Run the following command:
    Note: This command must be run from within the openshift-storage namespace.
    noobaa backingstore create s3-compatible rgw-resource --access-key=<RGW ACCESS KEY> --secret-key=<RGW SECRET KEY> --target-bucket=<bucket-name> --endpoint=<RGW endpoint>
    Example output:
    INFO[0001] ✅ Exists: NooBaa "noobaa"
    INFO[0002] ✅ Created: BackingStore "rgw-resource"
    INFO[0002] ✅ Created: Secret "backing-store-secret-rgw-resource"
  • To get the RGW ACCESS KEY and RGW SECRET KEY, run the following command using your RGW user secret name:
    oc get secret <RGW USER SECRET NAME> -o yaml -n openshift-storage
    Decode the access key ID and the access key from Base64 and keep them.
    RGW ACCESS KEY
    RGW SECRET KEY
    Decoded data
    bucket-name
    An existing RGW bucket name. This argument tells the MCG which bucket to use as a target bucket for its backing store, and subsequently, data storage and administration.
    RGW endpoint
    To get the RGW endpoint, see Accessing the RADOS Object Gateway S3 endpoint.

Creating an s3 compatible Multicloud Object Gateway backingstore using a YAML file

  1. Create a CephObjectStore user. This also creates a secret containing the RGW credentials:
    apiVersion: ceph.rook.io/v1
    kind: CephObjectStoreUser
    metadata:
      name: <RGW-Username>
      namespace: openshift-storage
    spec:
      store: ocs-storagecluster-cephobjectstore
      displayName: "<Display-name>"
    RGW-Username
    A unique RGW user name.
    Display-name
    A display name
  2. Apply the following YAML for an S3-Compatible backing store:
    apiVersion: noobaa.io/v1alpha1
    kind: BackingStore
    metadata:
      finalizers:
      - noobaa.io/finalizer
      labels:
        app: noobaa
      name: <backingstore-name>
      namespace: openshift-storage
    spec:
      s3Compatible:
        endpoint: <RGW endpoint>
        secret:
          name: <backingstore-secret-name>
          namespace: openshift-storage
        signatureVersion: v4
        targetBucket: <RGW-bucket-name>
    
      type: s3-compatible
    backingstore-secret-name
    Name of the secret that was created with CephObjectStore in the previous step.
    bucket-name
    An existing RGW bucket name. This argument tells the MCG which bucket to use as a target bucket for its backing store, and subsequently, data storage and administration.
    RGW endpoint
    To get the RGW endpoint, see Accessing the RADOS Object Gateway S3 endpoint.