Open Source Cloud Native Computing Foundation for Virtual Storage Management Storage in Container Environments-Kubernetes with OpenEBS
With OpenEBS, a project of the CNCF, it is possible in Kubernetes to virtualize storage via containers. As a result, storage areas can also be provided for stateful applications with containers.
Companies on the topic
Storage virtualization with containers-can be implemented in Kubernetes with the help of OpenEBS.
OpenEBS is an open source solution that enables storage to be deployed through container environments. The open source application can provide container attached storage (CAS) capabilities in Kubernetes. This makes the connection of applications and storage in container environments independent of physical data storage.
OpenEBS describes itself as”Leading Open Source Container Attached Storage”. The source code is also available in Github. The storage solution can support stateful applications and provide their storage through containers. As a result, the applications can be used more flexibly and are less dependent on the hardware.
This is Container Attached Storage (CAS)
Container Attached Storage (CAS) is designed to solve the problem that storage in container environments is still dependent on hardware and location. As more and more environments become agile and containers are widely used, integrating the storage system into the container environment is hugely important to make applications more flexible by eliminating reliance on storage hardware.
The bottom line is that there is no benefit to an application if it operates in a container environment while being dependent on a storage solution positioned outside the container environment. Systems such as NFS, GlusterFS, Azure Disks, Amazon EBS and other storage solutions are positioned outside the actual container environment and are integrated into the environment as an external resource.
In some cases, persistent volumes (PV) are also used in container environments. However, these are also closely linked to the underlying modules. Also PVs are therefore rather monolithic and not ideal for container environments, especially compared to CAS. However, PVs can also be provided with OpenEBS and thus receive added value.
Although theoretically the application and its container could move quickly and easily, in practice this is rather difficult to do, since the underlying data storage, which the application also needs, is not flexible and therefore can not move so easily. This is exactly the problem that CAS is supposed to fix.
CAS provides individual storage areas as microservices so that they can be integrated into the container environment. To do this, storage provides its data layer via pods in the container environment. The data layer and the pods connected to it provide storage to the applications.
This function is controlled by the control level in the CAS. Control level and data level are separated from each other. This enables the portability of workloads and the necessary storage. OpenEBS represents such a CAS, with which storage can also be provided in a fault-tolerant manner in hyperconverged environments.
Optimized Storage for Container environments
Simply put, OpenEBS enables the deployment of storage for container applications. The storage is independent of the hardware, as it is also containerized. OpenEBS uses Kubernetes container management for this purpose. The solution integrates itself as a service to make itself available as a container to the applications in the environment. OpenEBS therefore not only provides a storage environment optimized for containers, but is itself integrated into the environment as a microservice.
The additional advantage is that OpenEBS provides stateful applications with storage similar to cloud storage, without having to depend on a cloud provider. The storage can be operated together with the connected applications and therefore also move easily between hosts or cloud providers. OpenEBS can be used in on-premises clusters, but also in public or hybrid cloud infrastructures.
Use OpenEBS-also with Prometheus
The control layer in OpenEBS manages the life cycle of the data store on which the data coming through the data layer from the container applications is stored. Here you can integrate SANs, block storage or other environments.
OpenEBS can be used to take snapshots, and cloning is possible. Storage policies and exporting data to external systems are also possible. OpenEBS also supports Prometheus in this area. Prometheus is also a project of the Cloud Native Computing Foundation (CNCF). Prometheus stores the data for monitoring in its time series database. Therefore, the system is ideal when it comes to monitoring metrics of systems in large numbers. Prometheus and OpenEBS work closely together.
The Node Device Manager (NDM) is a component of the OpenEBS control layer. Each node in the Kubernetes cluster runs an NDM daemon. It recognizes the physical storage that the data layer provides to the containers. In the OpenEBS environment, NDM is the intermediary between the control layer and the physical disks connected to the nodes and the Kubernetes cluster. The containers in turn communicate with the data layer that provides the storage pods.
Storage Engines in OpenEBS
The OpenEBS data layer supports the cStor, Jiva, and Local PV storage engines. The use of cStor is recommended. This engine is ideal for databases that are intended to be highly available in container environments and offers the most features. With cStor Snapshots, Cloning, Thin Provisioning and replication can be used. The engine uses three replicas to ensure high availability in the environment.
Jiva is easy to implement and only supports standard actions in block storage environments. The engine is more used for small environments. Local Persistent Volume (Local PV) uses a local datastore and is the simplest engine in OpenEBS. This engine is mainly used when no block storage or SAN is available, but in Kubernetes the cluster nodes should use local data storage.
Companies that operate container environments and want to ensure that their applications become independent of the storage hardware should look at the possibilities of OpenEBS and integrate the benefits of open source into their environment. With the CAS system, the dependence of container applications on your data storage can be significantly reduced or eliminated.
Storage Management Part 1-Always keep track
Download eBook “Storage Management”