31 lines
934 B
Plaintext
31 lines
934 B
Plaintext
---
|
|
title: Lessons Learned from Building a Database Operator
|
|
weight: 10
|
|
---
|
|
|
|
Another talk as part of the Data On Kubernetes Day.
|
|
|
|
## Baseline
|
|
|
|
### Hosting Models
|
|
|
|
* Managed: Atlas
|
|
* Semi: Cloud manager
|
|
* Selfhosted: Enterprise and community operator
|
|
|
|
### Mongo on K8s
|
|
|
|
* Cluster Architecture
|
|
* Control Plane: Operator
|
|
* Data Plane: MongoDB Server + Agen (Sidecar Proxy)
|
|
* Enterprise Operator
|
|
* Opsmanager CR: Deploys 3-node operator DB and OpsManager
|
|
* MongoDB CR: The MongoDB cLusters (Compromised of agents)
|
|
* Advanced Usecase: Data Platform with mongodb on demand
|
|
* Control Plane on one cluster (or on VMs/Hardmetal), data plane in tennant clusters
|
|
* Result: MongoDB CR can not relate to OpsManager CR directly
|
|
|
|
## Pitfalls
|
|
|
|
* Storage: Agnostic, Topology aware, configureable and resizeable (can't be done with statefulset)
|
|
* Networking: Cluster-internal (Pod to Pod/Service), External (Split horizon over multicluster) |