Overview of OpenEBS
In Kubernetes, storage is often integrated as an OS kernel module with individual nodes. Even the PVs are monolithic and legacy resources since they are strongly tied to the underlying components. CAS allows Kubernetes users to treat storage entities as microservices. CAS is made up of two parts: the control plane and the data plane. The control plane is implemented as a set of Custom Resource Definitions (CRDs) that deal with low-level storage entities. The data plane runs as a collection of pods close to the workload. It is in charge of the I/O transactions, which translate into read and write operations.
The clean separation of the control plane and data plane provides the same benefits as running microservices on Kubernetes. This architecture decouples persistence from the underlying storage entities, allowing workloads to be more portable. It also adds scale-out capabilities to storage, allowing administrators and operators to dynamically expand volumes...