ceph-provider
The ceph-provider
contains two implementors of the IronCore VolumeRuntime
interface:
ceph-volume-provider
: Implements theVolumeRuntime
interface to manage volumes in a Ceph cluster.ceph-bucket-provider
: Implements theBucketRuntime
interface to manage object storage buckets in a Ceph cluster.
ceph-volume-provider
The ceph-volume-provider
implements the IronCore VolumeRuntime
interface to manage volumes in a Ceph cluster. A CreateVolume
IRI call results in the creation of a ceph image
in the cluster, which can be used as a block device for virtual machines.
The following diagram visualizes the connection between the ceph-volume-provider
and the volumepoollet
:
Once a Volume
has been created by the ceph-volume-provider
, it returns the access information to the volumepoollet
which then propages this as status information to the Volume
resource in the IronCore API. On the consumer side, e.g. libvirt-provider
, the Volume
resource is then used to attach the block device to a virtual machine instance using the credentials provided in the Volume
status.
ceph-bucket-provider
The ceph-bucket-provider
implements the IronCore BucketRuntime
interface to manage object storage buckets in a Ceph cluster. A CreateBucket
IRI call results in the creation of a ObjectBucketClaim
(OBC) resource. In case of a Rook backed Ceph cluster, the corresponding ObjectBucketClaim
is reconciled by Rook, which will internally create a Ceph bucket and provide access credentials.
The following diagram visualizes the interplay of the different components:
The propagation of the access information to the Bucket
resource in the IronCore API is similar to the ceph-volume-provider
and is done by the bucketpoollet
.