Red Hat OpenShift is a popular enterprise Kubernetes platform that provides a cloud-like experience wherever it is installed. Red Hat OpenShift Container Storage is a persistent storage solution for the OpenShift Container Platform that supports file, block, and object storage on-premises or in hybrid clouds. Red Hat OpenShift Container Storage is a Red Hat storage solution that is fully integrated with OpenShift Container Platform for deployment, management, and monitoring.
In this blog, we are will be learning about OpenShift Container Storage.
In this blog we are going to learn:
- What is Red Hat OpenShift Container Storage
- OpenShift Persistent Storage (PV & PVC)
- Persistent Volume Lifecycle in OCP
- OpenShift Ephemeral Storage
- How OpenShift Uses the Container Storage Interface (CSI)
What is Red Hat OpenShift Container Storage
Red Hat OpenShift Container Storage (now known as Red Hat OpenShift Data Foundation) is a software-defined persistent storage system built specifically for the Red Hat OpenShift Container Platform. OpenShift Data Foundation provides container-native storage that is highly available, dynamic, and stateful. It allows you to deploy and de-provision storage on-demand directly from the OpenShift administrator panel. It gives OpenShift full support for persistent and ephemeral storage, as well as data portability for hybrid and multi-cloud settings.
Key benefits include:
- Integrated management: It gives you more flexibility and efficiency when it comes to storage provisioning
- Seamless persistent storage: Within the native OpenShift interface, dynamic provisioning of persistent volumes for applications and services is possible.
- Rapid deployment: OpenShift Container Storage on clusters can be deployed by operators.
Source: OpenShift
OpenShift Persistent Storage (PV & PVC)
Managing persistent storage in containerized apps is difficult. Containers or pods can shut down at any time, resulting in the loss of local storage. This is why Kubernetes allows users to create persistent volumes (PV) and attach them to pods, allowing for persistent storage that spans a pod’s lifecycle. PVs are used by the OpenShift Container Platform to offer persistent storage in clusters. PVs are available across the OpenShift platform.
OpenShift makes use of the Kubernetes persistent volume claims (PVC) mechanism to let developers seek storage without having to know about the underlying storage hardware. PVCs can only access persistent volumes from within the OpenShift platform, but they can access them from anywhere.
Amazon EBS, Azure Files, Azure Managed Disks, Google Cloud Persistent Disk, Cinder, iSCSI, Local Volume, NFS, and VMware vSphere are all supported by the OpenShift Container Platform.
Learn about Kubernetes Persistent Storage
Persistent Volume Lifecycle in OCP
Persistent Volumes in OpenShift Container Platform go through the following lifecycle stages:
- Administrators provision storage: The administrator either configure a dynamic provisioner that builds PVs in response to claims or manually sets up PVs, knowing the capacity required ahead of time.
- Binding PV to a claim: PVCs are requests f
- rom developers for the type and volume of storage they want. The main node looks for PVCs and binds the claim to the volume when one satisfies the criteria (or, if there is no appropriate volume and a provisioner is set up, creates a new PV).
- Pods access volumes: After binding, the claim becomes a persistent volume that the pod can use for as long as it needs it. A persistentVolumeClaim statement in the pod’s YAML setup allows it to access a volume.
OpenShift Ephemeral Storage
While persistent storage is required for stateful containerized applications, ephemeral storage is required for both stateful and stateless applications. Ephemeral storage, which is required for runtime data operations, caching, and temporary log storage on the nodes that host pods and containers, is transitory storage on the nodes that host pods and containers. All pods operating on a Kubernetes node have access to it.
The OpenShift Container Platform has an ephemeral storage structure that allows each pod to select and receive its own local storage. It also allows pods to be scheduled while taking into account if the destination nodes’ ephemeral storage requirements are met. This makes managing local storage easier, but keep in mind that throughput and latency cannot be guaranteed.
OpenShift’s ephemeral storage management can help with a number of issues that arise in Kubernetes deployments. It ensures that pods are aware of the available storage on their nodes, that enough local storage is available for pods running on that node, and that pod eviction due to storage concerns is avoided.
OpenShift offers two types of ephemeral storage:
- Root ephemeral storage—a partition on the node that houses the kubelet root directory and the /var/log/ It is shared by pods, the operating system, and daemons.
- Runtime ephemeral storage—this partition can optionally be added. It is optimized for storing container layers and has isolation that can prevent each container from accessing layers belonging to another container.
How OpenShift Uses the Container Storage Interface (CSI)
OpenShift Container Platform may now ingest data from storage backend sources thanks to the CSI.
A CSI driver is typically distributed as a container image that is unaware that it is running on the OpenShift Container Platform. The cluster administrator must deploy various components that serve as a bridge between a storage driver and the OpenShift Container Platform in order to leverage CSI storage backends.
Here is a diagram that shows the main components running inside OpenShift pods.
Source: OpenShift
The platform allows you to run many CSI drivers for various storage backends. Each driver must have its own external controllers and a DaemonSet maintained by the CSI registrar in this scenario.
Related/References
- Openshift vs Kubernetes: What is the Difference?
- Containers for Beginners: What, Why and Types
- Kubernetes for Beginners – A Complete Beginners Guide
- Kubernetes Architecture | An Introduction to Kubernetes Components
- Red Hat OpenShift- What, Why, and How?
- OpenShift For Beginners: 30+ Hands-On labs You Must Perform | Step-by-Step
- Deploy Applications Using OpenShift: Step-by-Step
- Install Single Node OpenShift Cluster (OKD): Step By Step
- OpenShift Official Documentation
Next Task For You: Join Our FREE Class
Begin your journey towards becoming a Red Hat Certified Specialist in OpenShift Administrator and earning a lot more in 2021 by joining our Free Class.
Leave a Reply