There are multiple ways to install Ceph.
Cephadm installs and manages a Ceph cluster that uses containers and systemd and is tightly integrated with the CLI and dashboard GUI.
cephadm supports only Octopus and newer releases.
cephadm is fully integrated with the orchestration API and fully supports the CLI and dashboard features that are used to manage cluster deployment.
cephadm requires container support (in the form of Podman or Docker) and Python 3.
Rook deploys and manages Ceph clusters running in Kubernetes, while also enabling management of storage resources and provisioning via Kubernetes APIs. We recommend Rook as the way to run Ceph in Kubernetes or to connect an existing Ceph storage cluster to Kubernetes.
Rook supports only Nautilus and newer releases of Ceph.
Rook is the preferred method for running Ceph on Kubernetes, or for connecting a Kubernetes cluster to an existing (external) Ceph cluster.
Rook supports the orchestrator API. Management features in the CLI and dashboard are fully supported.
ceph-ansible deploys and manages Ceph clusters using Ansible.
ceph-ansible is widely deployed.
ceph-ansible is not integrated with the orchestrator APIs that were introduced in Nautilus and Octopus, which means that the management features and dashboard integration introduced in Nautilus and Octopus are not available in Ceph clusters deployed by means of ceph-ansible.
ceph-deploy is a tool that can be used to quickly deploy clusters. It is deprecated.
ceph-deploy is not actively maintained. It is not tested on versions of Ceph newer than Nautilus. It does not support RHEL8, CentOS 8, or newer operating systems.
ceph-salt installs Ceph using Salt and cephadm.
jaas.ai/ceph-mon installs Ceph using Juju.
github.com/openstack/puppet-ceph installs Ceph via Puppet.
Ceph can also be installed manually.
For Windows installations, consult this document: Windows installation guide.