Kahibaro
Discord Login Register

Persistent storage concepts

Why Persistent Storage Matters in OpenShift

By default, containers and pods in OpenShift use ephemeral storage: data is lost when the pod is deleted, rescheduled to another node, or the node fails. Persistent storage provides a way to keep data beyond the lifecycle of pods and nodes, which is essential for:

Persistent storage in OpenShift is always about decoupling application lifecycle from data lifecycle.

Key idea:

Ephemeral vs Persistent Storage

Ephemeral Storage

Characteristics:

Limitations:

Persistent Storage

Characteristics:

Use cases:

Core Concepts in Persistent Storage

OpenShift follows Kubernetes’ persistent storage model, built around a few key abstractions.

Storage as a Separate Concern

Applications in OpenShift do not talk directly to NFS, SAN, or cloud storage APIs. Instead, applications:

The cluster administrator or storage platform:

This separation:

Persistent Volume (PV) and Persistent Volume Claim (PVC) Model

Conceptually:

From the application’s perspective:

This claim-based model is central to how persistent storage is requested and consumed by workloads.

Access Modes and How They Shape Workloads

Persistent storage in OpenShift supports different access modes, which determine how pods can mount a given volume.

Common access modes you will encounter:

Why this matters:

Performance, Durability, and Consistency

When thinking about persistent storage, three dimensions are especially important.

Performance Characteristics

Different backends offer different performance profiles:

Design implications:

Durability and Availability

Durability levels depend on the underlying storage:

Persistent storage concepts in OpenShift assume:

Consistency and Concurrency

When multiple clients access the same data:

At the application level, you must:

Pod Scheduling and Data Locality

Persistent storage affects where pods can run:

Conceptually:

As a result:

Persistent Storage and Application Design Patterns

Persistent storage can change how you design applications:

Key patterns:

Lifecycle of Persistent Data vs. Application

A central concept is that data often has a longer lifecycle than the application instances:

Typical lifecycle pattern:

  1. An application (Deployment, StatefulSet, etc.) declares a PVC.
  2. The PVC is bound to a PV (existing or dynamically provisioned).
  3. The pod mounts the PVC and writes data.
  4. The pod is deleted or rescheduled, but the PVC/PV (and data) remain.
  5. A new pod mounts the same PVC, continuing from the existing data.

This separation of compute lifecycle from data lifecycle is a foundational concept for running stateful workloads in OpenShift.

Security and Multi-Tenancy Considerations (Conceptual)

At a conceptual level, persistent storage interacts with OpenShift’s security and multi-tenancy model:

Understanding this helps you choose the right storage type and configuration for different workload classes (development vs production, test vs regulated data, etc.).

Summary of Key Persistent Storage Concepts

Views: 10

Comments

Please login to add a comment.

Don't have an account? Register now!