Building the Dragonfly Operator from Scratch
summary
Builds an operator with Kubebuilder that runs Dragonfly as an onDelete StatefulSet, exposes a Service, and maintains cluster topology with two reconcilers: one that creates StatefulSets/Services from a Dragonfly CR and one that watches Pod events to run Redis commands via the redis-go client. Uses role=master/role=replica labels, automatic failover of a 2-replica setup works in the demo, and rolling upgrades preserve data by promoting replicas before deleting masters.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:47Dragonfly needs Kubernetes
- 3:32Helm chart limits for DBs
- 4:57Goals of Dragonfly operator
- 7:43How Kubernetes operators work
- 9:47Custom resource definitions
- 11:56Operator architecture & reconcilers
- 12:20Demo: install Dragonfly operator
- 15:13Dragonfly reconciler demo
- 18:47Interacting with Dragonfly
- 19:32Master-replica failover
- 21:16Pod lifecycle reconciler
- 22:21Pod lifecycle logic walkthrough
- 25:32Operator-managed upgrades
- 26:15Live upgrade demo
- 30:11Upgrade strategy & persistence
- 31:14Closing
related talks
53mAutomating Stateful Applications with Kubernetes Operators
55mIntroduction to Kubernetes Operators
14mDemystifying k8s operators
41mDatabases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond
25mLessons Learned from Building a Database Operator
22mRunning distributed stateful system on Kubernetes - Beyond Statefulsets
47mLet's dive into Kubernetes operator creation
29mKubernetes Operator For Deployment And Management Of App
