Moving from K3s to EKS

Hi team!

I am using the K3s offering (1 application + 3 databases) and I want to (finally) switch to EKS.
Can I do it without any service interruption? specifically, I would want to use the exact same databases I am using (managed) - I have customer data on those I cannot drop them

Please tell me it’s possible :pray:

Hello @CBaptiste !

It’s possible ! Feeding new database via Qovery UI is not possible as of yet directly but, what you can do is:

  1. Create your new cluster
  2. Create your new project / env
  3. Create your application and managed DBs via Qovery in you new env on your new cluster
  4. Go to AWS console RDS, and feed your newly created DBs via existing DBs (snapshots + imports)

Cheers

Thank you! But I would need to migrate schema, users, password, rights though (I have a multi tenant multi schema design today)

thoughts ? Can we just point the cluster I will create to my current databases ? Or maybe add existing managed databases directlty into the cluster configuration?

No sure to grasp why multi-tenant / multi-schema issue here. If you restore snapshot from one DB to another, it should be transparent. You will of course have at some point an out of sync while doing the switch from your old app to your new app.

You can otherwise keep your Qovery managed DBs and make a link to it from your new cluster, but I would recommend not doing so because of convenience.

Can you explain why multi-tenant / multi-schema is a blocker?

Does a database snapshot also contains the list of schemas and all users with their password ?

Yep, everything is there !

Good thing about this approach is that you can test it easily making sure everything is there before switching traffic to new cluster.

ok perfect! Thank you @bchastanier :slight_smile:

Hey @CBaptiste after discussing with @Enzo about this one, it might not be possible to apply a snapshot / backup from one DB to another existing one (only possible to create a new DB from snapshot), sorry for the confusion here.

You can use GitHub - Qovery/Replibyte: Seed your development database with real data ⚡️ to seed newly created DB easily.

So to sumarize:

  1. Create your new cluster
  2. Create your new project / env
  3. Create your application and managed DBs via Qovery in you new env on your new cluster
  4. Use replibyte to feed your newly created DBs from existing DBs

Sorry again, happy to help :slight_smile: