What is best practice for persisting data using Couchbase Operator and persistent volumes (PVC's)


First of all, I want to say thanks for creating an operator for Couchbase. I think operators are awesome for maintaining uptime, self-healing etc of critical data-centric deployments.

I have a question regarding the persistent storage of data.
I created a cluster using the operator but it seems it only supports EmptyDir volumes. I couldn’t find the option in your documentation to configure volumes or storage classes to persist data properly using PVC’s (like Crunchy Data’s Postgres Operator: https://github.com/CrunchyData/postgres-operator).

I see in your release notes that PV’s aren’t supported.

Since I wish to use it with Ceph, will it be a feature implemented before release?

Thanks again

Thank you @peterb and you’re absolutely right about Operator for automated provisioning, maintaining uptime, self-healing, centralized configuration and many more to come in future.

Support for persistent storage is currently in development and yes it will be included in GA timeframe.


Do you have an update on when persistent volume support is arriving to the Couchbase Operator? This is pretty much the only blocker we have for adopting it instead of something more hand-crafted.

Hi Matias (@mz2),

Yes, support for persistent volume will be available when we release 1.0 GA next month. If you’re interested in getting access to early preview version for testing I can make it available to you in next couple of days.

Can you send email at anil@couchbase.com so I can get your the early drop and documentation available to you.


Amazing! We’d be very happy to try out the early preview, this is very compatible with our own release schedule. The devops team will be in touch asap.

It appears that with 1.0 you only support a certain subset of persistent volume types. The reason kubernetes created persistent volumes and decoupled them from persistent volume claims was to make it so applications didn’t have to worry about storage implementation details. If I am running on bare metal but using a different type of storage than what you list as supported (gluster, and some others) can I still use the operator?