Responsibilities

The Rook-Ceph operator is a container that bootstraps and monitors the storage cluster, performing various functions.

These functions include the following:

  • Automates the configuration of storage components

  • Starts, monitors, and manages the Ceph monitor pods and Ceph OSD daemons to provide the RADOS storage cluster

  • Initializes the pods and other artifacts to run the services to manage:

    • CRDs for pools

    • Object stores (S3/Swift)

    • Filesystems

  • Monitors the Ceph mons and OSDs to ensure that the storage remains available and healthy

  • Deploys and manages Ceph mons placement while adjusting the mon configuration based on cluster size

  • Watches the desired state changes requested by the API service and applies the changes

  • Initializes the Ceph-CSI drivers that are needed for consuming the storage

  • Automatically configures the Ceph-CSI driver to mount the storage to pods

Figure 1. Rook-Ceph Operator architecture
Rook-Ceph Operator architecture

The Rook-Ceph operator image includes all required tools to manage the cluster. There is no change to the data path. However, the operator does not expose all Ceph configurations. Many of the Ceph features like placement groups and crush maps are hidden from the users and are provided with a better user experience in terms of physical resources, pools, volumes, filesystems, and buckets.