vitessio / vitess

Vitess is a database clustering system for horizontal scaling of MySQL.
http://vitess.io
Apache License 2.0
18.74k stars 2.1k forks source link

Guide to use VItess on AWS kubernetes #2540

Closed chandresh-pancholi closed 6 years ago

chandresh-pancholi commented 7 years ago

Hi,

We want to move of Amazon RDS and use Vitess on kubernetes. I am not able to find any documentation for that.

Please provide any pointer to use Vitess in AWS Kube.

bbeaudreault commented 7 years ago

Hey @chandresh-pancholi -- I'm currently working on running Vitess in AWS Kube, and have not seen any real aws-specific limitations or gotchas to be aware of. Once you run through https://kubernetes.io/docs/getting-started-guides/aws/ and related kubernetes docs, it should not matter much if kubernetes is running in AWS or anywhere else, from a vitess standpoint.

We were able to run the vitess getting started guide against a test AWS kube cluster without any issues, and as I dive deeper into vitess configuration that continues to remain true (no aws-specific configs/issues/etc).

In terms of moving from RDS to Vitess, I have not done it. Vitess currently requires a local connection but that may change, based on https://github.com/youtube/vitess/issues/2518.

The biggest challenge seems to be that even if #2518 went through, Vitess needs access to the underlying filesystem to take a backup (which could then be used to restore into kube). So another backup method may be needed. I'm not familiar with the RDS methods of snapshotting, whether those snapshots can be used to create a standalone mysql.

The best bet might be to launch a new empty keyspace into a new kube cluster, then mysqldump from RDS into it. https://aws.amazon.com/blogs/aws/aws-database-migration-service/ may be of service as well.

To recap:

sougou commented 6 years ago

I was able to bring up vitess using both the helm charts and the metacontroller operator on a kubernetes cluster with AWS.