loft-sh / vcluster

vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
https://www.vcluster.com
Apache License 2.0
6.32k stars 403 forks source link

Guidance and performance information on using database backends (mysql, postgres) #1623

Open joaocc opened 6 months ago

joaocc commented 6 months ago

Is your feature request related to a problem?

Not a problem, but rather a lack of guidance on performance characteristics or scalability on running vcluster using database backend (mysql, postgres) as per https://www.vcluster.com/docs/deploying-vclusters/persistence#datastore-options.

Which solution do you suggest?

Provide some guidance on what to pay attention to when planning to use database as persistence layer (mysql, postgres), for the control plane (vs etcd). At the moment there doesn't seem to be anything in the site, github or slack.

Which alternative solutions exist?

Not much

Additional context

No response

alexandradragodan commented 6 months ago

Hey, @joaocc Thanks for the suggestion.

Have you taken a look here?

Let me know if that's helpful in tackling your endeavour

joaocc commented 6 months ago

Hi. Thanks. Interesting read - was not aware of it. However in terms of comparison it is comparing sqlite-on-EBS with etcd-on-EBS. I was prob not clear enough, in that I was interested on the etcd-on-mysql or etc-on-postgresql (local, serverless/aurora-v2, ...). Will fix description. And, of course, being cheeky, etcd-on-EFS would also be interesting as comparison :) (https://github.com/loft-sh/vcluster/issues/1342). Thanks

heiko-braun commented 6 months ago

External database storage is on the roadmap and will be included in future versions. For now, only k3s seems to cover what you are looking for: https://www.vcluster.com/docs/deploying-vclusters/persistence