How a Kubernetes Operator Can Make Relational Databases Safer
Moving your data to Kubernetes is often considered dangerous. Kubernetes was designed as a platform that assumes all resources, whether stateful or stateless, are ephemeral, and can be destroyed at a moment’s notice. However, we’ve found that with a well-designed Operator, running your database in Kubernetes is far more resilient than running your database outside of a container orchestrator.
Two PlanetScale engineers will walk you through a simulated catastrophic failure, and explain how we use our Operator to handle failure cases gracefully. Using Vitess, the project supporting rapid relational data growth at companies like YouTube and Slack, we will demonstrate how a Kubernetes Operator can reduce the complexity of managing your data in a container orchestrator, to create a resilient, scalable and truly stateful relational data store that anyone can manage.
All companies, regardless of scale, desire the ability to retain their customers’ data and continue serving traffic even during the most catastrophic failures. With a well-designed operator, this is a possibility today.
At PlanetScale, we’ve built a Kubernetes Operator that monitors the state of a Vitess cluster and handles catastrophic failures. Using this Operator, we can automatically handle failure cases such as a complete master failure while continually serving traffic. We demonstrate how this can be achieved, and hope to inspire others to build operators that not only make stateful workloads in Kubernetes possible, but improve the resilience of that state, even over traditional database options.