Persistent and highly available storage
As organizations embrace containers and Kubernetes orchestration for critical applications, Red Hat® OpenShift® Container Platform services must be made highly available, implying a significant role for the storage that supports them. Red Hat OpenShift Container Platform cluster logging requires persistent storage for reliable operation. Backend storage for logging services must also be resilient and highly available to protect against infrastructure failures without data loss.
Red Hat OpenShift Container Storage is an ideal software-defined storage backend for Red Hat OpenShift logging because it offers data persistence and storage resiliency across failure domains such as Amazon Web Services (AWS) Availability Zones or on-prem systems. OpenShift Container Storage provides a uniform experience across on-prem, public cloud, or hybrid cloud deployments while offering block, file, and object storage classes to support a wide range of applications. As described in this document, testing has verified that OpenShift Container Storage provides superior failover protection for Red Hat OpenShift logging with no performance bottleneck.
Red Hat OpenShift Container Storage for Red Hat OpenShift logging
Red Hat OpenShift Container Platform administrators can select from multiple backend storage options for Red Hat OpenShift logging. By default, OpenShift Container Platform uses ephemeral emptyDir volumes for log storage. When a pod is removed from a node for any reason, the related non-persistent data in the emptyDir is removed as well. AWS Elastic Block Storage (EBS) persistent volumes (PVs) provide an alternative to emptyDir in the Amazon public cloud. Although they offer failover for log storage within a single availability zone, EBS PVs provide no support for data storage or failover across multiple availability zones. OpenShift Container Storage addresses both of these issues.
Red Hat OpenShift Container Platform logging
Administrators can deploy cluster logging using the OpenShift Container Platform web console to install the Elasticsearch operator and the cluster logging operator. The cluster logging components are based on the Elasticsearch, Fluentd, and Kaibana (EFK) stack:
- Elasticsearch index distributes a collection of documents across different containers. Pieces of Elasticsearch indexes (shards) are duplicated across a set of nodes to provide redundant copies (replicas) in case of infrastructure failure.
- Fluentd acts as a collector when deployed to each node in the Red Hat OpenShift Container Platform cluster. It collects node and container logs and writes them to Elasticsearch.
- Kibana is a centralized web user interface where users and administrators can create rich visualizations and dashboards from aggregated data.