Skip to content

M3DB Operator


Welcome to the documentation for the M3DB operator, a Kubernetes operator for running the open-source timeseries database M3DB on Kubernetes.

Please note that the CRDs provided by the operator are still subject to breaking changes, but we will provide clear notices in the Changelog and a clear migration path for any such changes.

For more background on the M3DB operator, see our KubeCon keynote on its origins and usage at Uber.


The M3DB operator aims to automate everyday tasks around managing M3DB. Specifically, it aims to automate:

  • Creating M3DB clusters
  • Updating M3DB clusters
  • Destroying M3DB clusters
  • Expanding clusters (adding instances)
  • Shrinking clusters (removing instances)
  • Replacing failed instances

It explicitly does not try to automate every single edge case a user may ever run into. For example, it does not aim to automate disaster recovery if an entire cluster is taken down. Such use cases may still require human intervention, but the operator will aim to not conflict with such operations a human may have to take on a cluster.

Generally speaking, the operator's philosophy is if it would be unclear to a human what action to take, we will not try to guess.