Story of a Kubernetes Go Operator
summary
Built a production Go operator that runs Elasticsearch on Kubernetes using the Operator Framework, kubebuilder and controller-runtime, automating upgrades, backups, scaling and PV binding for stateful sets. Reconciliation is idempotent, uses deterministic pod naming and UID checks to avoid duplicate pods, and applies optimistic concurrency and stale-cache assumptions to prevent endless recreate loops. The operator handles shard rebalancing (disabled until cluster is green) and works at scale, with caveats around cache freshness and complex upgrade edge cases.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:36What is Elastic Search
- 2:36Kubernetes
- 3:56Operators
- 4:42API Server
- 9:24How to do it
- 11:40The past
- 13:28Optimistic concurrency
- 15:57Data management
- 18:43Summary
related talks
24mKubernetes Operators with Go
34mWriting a Kubernetes Operator: the Hard Parts
39mWriting a Kubernetes/Openshift Operators Using Golang
55mIntroduction to Kubernetes Operators
41mDatabases on Kubernetes Using a Custom Operator: Day 1, Day 2, and Beyond
01h 29mTutorial: Deep Dive into the Operator Framework for Kubernetes
47mLet's dive into Kubernetes operator creation
33mAutomation with Kubernetes – Creating an operator - Johann Gnaucke
