Ceph block storage by using Rook
Rook is an open source orchestrator for distributed storage systems that run in cloud native environments.
For more information about Rook, see https://rook.io/ and https://github.com/rook/rook .
Ceph is a distributed storage system with multiple storage presentations that include object storage, block storage, and POSIX-compliant shared file system.
Rook works as an operator and provides the platform, framework, and support for storage solutions to natively integrate with cloud-native environments. IBM® Cloud Private depends on the Rook Operator to provide Ceph storage to application workload. Rook is now in beta state.
Deployment scenarios
You can use dedicated worker nodes to deploy Rook Ceph cluster or you can use worker nodes that are shared with application workloads to deploy a Rook Ceph cluster.
To deploy Rook Ceph cluster on dedicated worker nodes, follow these steps:
- Add a custom host group in your cluster.
- Specify NodeSelector terms and tolerations under the
placement
parameter in the RookCeph Helm chart.
For more information, see Creating a custom host group.
Prerequisites and limitations
For more information, see Prerequisites and limitations.
Deploying cluster
You can deploy Rook Ceph by installing the Helm chart that is available in IBM® Cloud Private catalog. Deployment of Rook Ceph cluster along with IBM Cloud Private installation is not supported.
Configuration options
Deploying of a Rook Ceph cluster is three-step process:
- Configure role-based access control (RBAC).
- Install the Rook operator Helm chart.
- Install the Ceph storage cluster chart.
For more information, see Installing Rook Helm chart.
For installation instructions that are in the Helm chart readme file, see Installing Rook Ceph cluster .
Creating a storage class
When you deploy Rook Ceph cluster, by default one storage class is added for the applications to provision dynamic volume.
Verifying the setup
After successful installation of the Rook Ceph cluster, verify that all the pods are up and that the cluster is usable.
You need to check all the following pods in same namespace where you deployed the chart:
- Verify that there are as many monitoring pods (
ceph-mon
) as specified in thecluster.monCount
configuration parameter. - Verify that there are as many
ceph-osd
pods as the number of storage nodes that are specified in thecluster.storageNodes
configuration parameter. - Verify that
api
andceph-mgr
pods are up.
Cluster sanity can be performed by deploying an application from IBM Cloud Private catalog that requires persistent storage. For example, see PostgreSQL .
Managing your cluster
The following operations can be performed after your cluster is installed.
Provisioning persistent volume
For more information, see Provisioning Persistent Volume .
Upgrading
Rook Ceph in IBM Cloud Private depends on the Beta version of the community Rook. Currently, this community chart does not support upgrade of existing Rook Ceph cluster.
Uninstalling
For more information, see Uninstalling the chart .
Known issues
For a list of common known issues, see Common Issues .
Troubleshooting
For more information, see Troubleshooting Rook Ceph cluster.