[5 min read]
The idea
I work with Ceph everyday and people regularly ask things about installation, design, valid use cases, and it’s ecosystem. Thinking about a way of effectively telling a story about it and showing different use cases in practical examples generated the idea to create a blog.
Ceph and the use of it in production environments is the focus of this blog. Main use cases of Ceph as a standalone deployment as well as the use in other environments, like for OpenShift, will also be themes.
What else will one find ?
Since the start of Rook and the option to run a Ceph cluster in Kubernetes (also abbreviated as “k8s”) the use of Ceph as the foundation for persistent storage in OpenShift became viable.
Why is it covered in the blog ? The main focus is the Ceph project and the use of it in general. The Ceph core project is geared towards a standalone use of Ceph clusters as cloud-like storage layers for different projects, like OpenStack and object storage services. In the recent years, the container world was catching up with the established use cases. The dynamic nature of self-serviced claims of persistent volumes for container platforms found a perfect resource for storage services. The integration of the highly scalable Ceph technology with the highly scalable platform for container workloads became a viable option.
Since Kubernetes integrated a standardised interface for storage services, the Container Storage Interface (CSI), Ceph integration became one of the most compelling and promising ways of working with Ceph. Now this provides an easy way of running Ceph orchestrated for scale within a cloud like environment but also can be consumed as a self-serviced offering.
A product using this is the Red Hat OpenShift Container Storage (RHOCS, or short OCS) that was launched together with the new version 4 of the Red Hat OpenShift Container Platform (RHOCP, or in short OCP) and introduced the Ceph technology as the foundation. While providing the solid and widely known technology as the data management platform for the cloud native OpenShift platform, additional functionality was added right from the start: the components came from Noobaa and Rook. Red Hat OpenShift Container Storage (OCS) was renamed then with the more recent version 4.9 officially into Red Hat OpenShift Data Foundation (RHODF, or in short ODF). OCS and ODF use operators to facilitate the management of the Ceph cluster related tasks. Along with the rook operator, the noobaa operator used for the so called Multi-Cloud Gateway (MCG), and all those are further orchestrated by the ocs-operator.
The intention of the blog is to show some of the ways of using OpenShift Data Foundation and the ground laying work on the way. Since I’m an employee of Red Hat with access to the actual product versions, I will focus on the Red Hat products whenever possible. However, some of the products are available as trials and thus one could use those to create the examples in the same way. Based on the timeline involved, different versions might introduce additional functionality and some previously upstream projects might manifest in new products. It will be a time based snapshot but also evolve over time with respect to the time consuming process with the creation of the examples.
The environment
The easiest way for me to stand up a longer running environment is an existing Red Hat Virtualisation single node cluster.
Red Hat Virtualisation (RHV) is used for the general approach in my lab to provide the resources for the examples. Although it’s a working infrastructure for the demonstrations and discussion of the various concepts and scenarios, it’s neither a production grade infrastructure nor is it recommended for anything near to production – especially with regards to the single host used.
The environment will be used for different tasks going forward and so I will leverage any kind of separation and connectivity based on “available” tricks, trying to keep it as simple as possible to translate it into any other kind of generic environment. As such, these “tweaks” may or may not be supported by the products used as shown in conjunction with any technology examples – as like Red Hat Ceph Storage cluster is not supported in fully virtualised environments using virtualised storage and neither in the cloud. Also the “metro-HA” stretched cluster setup of Red Hat OpenShift Data Foundation is not supported in such an infrastructure. However, these examples might be based on Red Hat Enterprise Linux (RHEL) or Red Hat OpenShift Container Platform that are both fully supported to run on RHV. Therefore, if going to use the example configuration in similar environments, please check the official documentation of the actual products or with the Red Hat teams directly.