Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a tool for kine <-> etcd migration #2190

Closed
stevefan1999-personal opened this issue Sep 2, 2020 · 7 comments
Closed

Create a tool for kine <-> etcd migration #2190

stevefan1999-personal opened this issue Sep 2, 2020 · 7 comments

Comments

@stevefan1999-personal
Copy link

So here I've expressed my view on the embedded etcd support and my interest in it that it could be a potential termination to the domination of kubeadm, and how kine will be ultimately replaced to just using etcd.

However, one thing I noticed though is that because kine doesn't implement a full set of etcd features, it means we cannot effectively and correctly transfer the key-values in our kine backed datastore, so we may have to write a new tool to analyze the kine journal and then reconstruct it piece by piece in etcd.

I'm in the process of figuring out how to write such tool...meanwhile any input here would be positive.

@stevefan1999-personal
Copy link
Author

Some simple brainstorming:

  1. We can just pull out all the KV data and then asynchronously do batch put tx in target etcd. This however cannot preserve compaction and previous versioning history
  2. We can use an ORM to speed up some SQL hassle, I've written a sample schema here
  3. We can also create a simple BoltDB bucket and append kine data directly, then we instruct etcd to use the new db instead
  4. Make sure the migration process is verifiable. But I'm not a good dev who can write tests...

@ElisaMeng
Copy link

velero is the tool for u?

@stevefan1999-personal
Copy link
Author

@ElisaMeng not exactly, velero backs up K8S metadata, the one you seen in yaml manifests. I want a more efficient and painless way to "transmigrate"

@stale
Copy link

stale bot commented Jul 31, 2021

This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 180 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.

@stale stale bot added the status/stale label Jul 31, 2021
@unixfox
Copy link

unixfox commented Jul 31, 2021

Bump

@stale stale bot removed the status/stale label Jul 31, 2021
@stale
Copy link

stale bot commented Jan 27, 2022

This repository uses a bot to automatically label issues which have not had any activity (commit/comment/label) for 180 days. This helps us manage the community issues better. If the issue is still relevant, please add a comment to the issue so the bot can remove the label and we know it is still valid. If it is no longer relevant (or possibly fixed in the latest release), the bot will automatically close the issue in 14 days. Thank you for your contributions.

@stale stale bot added the status/stale label Jan 27, 2022
@stale stale bot closed this as completed Feb 10, 2022
@ozeliurs
Copy link

bump ?

@k3s-io k3s-io locked and limited conversation to collaborators Jan 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants