chapter eight

8 Storage implementation and storage modeling

 

This chapter covers

  • Exploring how dynamic storage works in Kubernetes
  • Utilizing emptyDir volumes in Kubernetes workloads
  • Managing storage with CSI providers
  • Using hostPath values in tools like CNI and CSI
  • Implementing storageClassTemplates in the real-world for Cassandra

Modeling storage in a kubernetes cluster is one of the most important tasks that an administrator needs to do before going to production.

Modeling storage entails asking yourself questions about what your storage needs are for production application, and there are several dimensions to this.

You’ll want to generally ask yourself the following questions for any application that needs persistent storage:

8.1 Dynamic storage is a microchosm of the broader Kubernetes ecosystem

8.1.1 Dynamic Storage

8.1.2 Local Storage compared with of EmptyDir

8.1.3 PersistentVolumes

8.1.4 CSI

8.2 Dynamic Provisioning benefits from CSI, but is orthogonal

8.2.1 Storage Classes

8.2.2 Ok, back to the datacenter stuff

8.3 Kubernetes use cases for storage

8.3.1 Secrets, sharing files ephemerally

8.4 What does a dynamic storage provider typically look like ?

8.5 HostPath: For system control and/or data access

8.5.1 HostPaths, CSI, and CNI: a canonical usecase

8.5.2 Cassandra: An example of real world Kubernetes application storage

8.5.3 Advanced Storage functionality and the Kubernetes Storage model

8.6 Summary

8.7 References