Pelagia Overview#
Pelagia Helm chart deploys the following components:
- Pelagia Deployment Controller
- Pelagia Lifecycle Management Controller
- Rook Ceph Operator from Rook.
Pelagia Deployment Controller#
Pelagia Controller contains the following containers:
Pelagia Deployment Controller#
A Kubernetes Cluster API controller that fetches parameters from the CephDeployment
custom resource,
creates Rook custom resources, and updates CephDeployment
and CephDeploymentHealth
status
based on the Ceph cluster deployment progress.
Pelagia Deployment Controller operations include:
- Transforming user parameters from the
CephDeployment
resource into Rook resources and deploying a Ceph cluster using Rook. - Providing single entrypoint management of the Ceph cluster with Kubernetes.
- Integrating with Rockoon and providing data for OpenStack to integrate with the deployed Ceph cluster.
Also, Pelagia Controller eventually obtains the data from the OpenStack Controller (Rockoon) for the Keystone integration and updates the Ceph Object Gateway services configurations to use Kubernetes for user authentication.
Pelagia Secret Controller#
A Kubernetes Cluster API controller that fetches parameters from the corresponding secrets of Rook CephClient
and CephObjectStoreUser
and updates the CephDeploymentSecret
status with the secret references. It can be used
in custom applications to access the Ceph cluster with defined RBD, RadosGW, or CephFS credentials.
Pelagia Lifecycle Management Controller#
Pelagia Lifecycle Management (LCM) Controller contains the following containers:
Pelagia Health Controller#
A Kubernetes controller that collects all valuable parameters from the current
Ceph cluster, its daemons, and Rook resources and exposes them into the
CephDeploymentHealth
status.
Pelagia Health Controller operations include:
- Collecting all statuses from a Ceph cluster and corresponding Rook resources.
- Collecting additional information on the health of Ceph daemons.
- Providing information for the
status
section of theCephDeploymentHealth
custom resource.
Pelagia Task Controller#
A Kubernetes controller that manages Ceph OSD LCM operations. It
allows for a safe Ceph OSD removal from the Ceph cluster. It uses the
CephOsdRemoveTask
custom resource to perform the removal operations.
Pelagia Task Controller operations include:
- Providing an ability to perform Ceph OSD LCM operations
- Fetching parameters from the
CephOsdRemoveTask
resource to remove Ceph OSDs and execute them
Pelagia Infra Controller#
A Kubernetes controller that manages the Pelagia infrastructure resources. It creates and manages Ceph toolbox with Ceph CLI tools and deploys LCM infrastructure pods that allow processing disk cleanup.
Pelagia Task Controller operations include:
- Creating and managing the Ceph toolbox pod with the Ceph CLI tools
- Creating and managing the
disk-daemon
DaemonSet that is used to perform disk cleanup operations on the Ceph OSD disks - Pausing the regular Rook Ceph Operator orchestration until all requests are finished
Rook Ceph Operator#
Rook is a storage orchestrator that deploys Ceph on top of a Kubernetes cluster. Also
known as Rook
, Rook Ceph Operator
or Rook Operator
.
Rook operations include:
- Deploying and managing a Ceph cluster based on provided Rook CRs such as
CephCluster
,CephBlockPool
,CephObjectStore
, and so on - Orchestrating the state of the Ceph cluster and all its daemons
For more information about Rook, see the official Rook documentation.
Note that Pelagia Helm chart deploys the Rook Operator according to the Rook chart templates.
A typical Ceph cluster deployed by Rook consists of the following components:
- Two Ceph Managers (
mgr
). - Three or, in rare cases, five Ceph Monitors (
mon
). - Ceph OSDs (
osd
). The number of Ceph OSDs may vary depending on deployment needs. - Optionally three Ceph Object Gateway (
radosgw
) daemons. - Optionally two Ceph Metadata Servers (
mds
) for CephFS: one active and one stand-by.
Warning
A Ceph cluster with 3 Ceph nodes does not provide hardware fault tolerance and is not eligible for recovery operations, such as a disk or an entire Ceph node replacement.
Pelagia Data Flow#
The following diagram illustrates the processes within Pelagia and Rook Ceph Operator that are involved in the Ceph cluster deployment and lifecycle management: