Chapter 2. Enterprise Storage for Kubernetes

To make Kubernetes storage ready for the enterprise, one must solve the problems of elasticity and scale to meet the velocity and volume of big data. Cloud native storage solutions have emerged for orchestrating pools of persistent storage that are software defined, meaning that they are abstracted away from the underlying hardware. Unlike software-defined storage (SDS) solutions for VM-based environments, cloud native software-defined storage runs natively as containers that can be managed by the same orchestration system that handles application containers. This paves the way for dynamic, elastic storage for containerized applications running on Kubernetes at scale. This chapter discusses Kubernetes storage concepts, how software-defined storage brings scale to Kubernetes, and how the CSI works with software-defined storage.

Kubernetes Storage Concepts

Kubernetes represents application entities as primitives, which are the basic Kubernetes building blocks. Primitives represent real or logical entities so that Kubernetes can manage them as if they were software objects. Storage is no exception. Kubernetes provides a number of storage primitives, including the following:

PersistentVolume (PV)

A unit of persistent storage

PersistentVolumeClaim (PVC)

A storage request, which becomes the binding between a PV and a pod

StatefulSet

An object that manages the identity of a set of pods

StorageClass

Describes the classes of storage ...

Get Container Storage and Data Protection for Applications on Kubernetes now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.