Abstract:
A question many are now asking, especially with the increasing adoption of Kubernetes in the enterprise, is how to deal with state. Many containers can be ephemeral and immutable, but databases require persistence, it’s really pretty important!
This talk will walk through Kubernetes’ current capabilities for persistent storage, including Volumes and PersistentVolumes and the various drivers. It will look closely at how common SQL and NoSQL databases, such as PostgreSQL and MongoDB for example, can work on a Kubernetes cluster. We will highlight the good and the not so good in these solutions and importantly look to the future with in-flight and proposed developments in the project.
Outline:
- Kubernetes current data volume capabilities:
- Volume
- PersistentVolume/PersistentVolumeClaim
- Volume drivers (e.g. EBS, NFS, Flocker etc)
- Status of running common database systems on Kubernetes - eg
- Elasticsearch
- PostgreSQL
- Redis
- MongoDB
- MySQL
- Summary of the workarounds and challenges
- In-flight and proposed developments with volumes - and also wider capabilities for hosting distributed databases (ie leader election, pod hostnames/identity - petset/nominal services)