Understanding the challenges with stateful applications
Kubernetes was initially built for stateless applications in order to keep containers portable. Even when we run stateful applications, the applications themselves are actually very often stateless containers where the state is stored separately and mounted from a resource called Persistent Volume (PV). We will learn the different resource types used to maintain state and also keep some form of flexibility later in the Understanding storage primitives in Kubernetes section.
I would like to highlight the six notable stateful application challenges that we will try to address in this chapter:
- Deployment challenges: Especially when running a mission-critical service in production, finding the ideal deployment method of a certain stateful application can be challenging to start with. Should we use a YAML file we found in a blog article, open source repository examples, Helm charts, or an operator? Your choice will have...