Hey!
Deploying and operating a ceph cluster is a complex endeavour.
And much of what can be done (in a holistic way from an operator perspective) depends
on the tooling.
1. Cephadm:
cephadm IS the go-to upstream tooling for ceph orchestration and has both pros and cons.
It deploys Ceph in a containerised fashion (docker/podman) and manages the containers on
operator's behalf. It is definitely worth checking out. It is also worth mentioning that cephadm
is a tool and is abstracted from the ceph cluster itself (i.e. containers constituting the cluster)
which allows you to choose the ceph container image at deploy time (or via a systematic upgrade
laterally). The choice basically being between upstream images built IIRC using CentOS (!verify)
or downstream images like Ceph Rock built using ceph packages from Ubuntu LTS.
2. MicroCeph:
MicroCeph is a machine orchestrator for Ceph which spawns isolated Ceph services on the host
(and not containers). Again like any operator it has its pros and cons. The idea behind MicroCeph
is to make Ceph orchestration/operation easy and over the past cycles it has grown more featureful.
It uses trust tokens generated by an existing cluster member for scaling the cluster horizontally
and the cluster itself is isolated from the underlying host (no SSHfoo as well). Since it is
the same Ceph underneath, native integrations (with openstack services like keystone, cinder,
glance, or K8s via ceph CSI) work as is. It is worth checking out if it suits your use cases.
3. Rook
Rook is an interesting way of operating a ceph cluster more suited for k8s native clouds. Interesting
read however, for you it is less relevant.
I would love to hear more from your ceph adventures, please keep us posted!
Utkarsh