November 14, 2019

216 words 2 mins read

Databases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond

Databases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond

We started the journey of building a managed cloud version of the graph database Neo4j. A bit later we started developing an operator to manage multiple database clusters in k8s.Handling persistence a …

Talk Title Databases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond
Speakers Johannes Unterstein (Software Engineer, Neo4j)
Conference KubeCon + CloudNativeCon Europe
Conf Tag
Location Barcelona, Spain
Date May 19-23, 2019
URL Talk Page
Slides Talk Slides
Video

We started the journey of building a managed cloud version of the graph database Neo4j. A bit later we started developing an operator to manage multiple database clusters in k8s.Handling persistence and Neo4j’s own distributed consensus algorithm within k8s gave us a challenge. In this session we want to share the lessons we learned writing this operator and using it in production.We will start with how to get started using the k8s controller tooling to create an operator to manage a CRD. We go beyond the “day 1” tasks of creating and deleting databases and discuss how we meet “day 2” concerns such as:- Unit testing our operator using k8s fakes.- Continuously deploying an operator into a GKE cluster.- Automatic rolling updates of Neo4j databases with zero downtime and fault tolerance.- Database administration (backup, restore, password resets etc.) via an operator.

comments powered by Disqus