Comments (6)
We didn't use etcd-operator, we used the built-in kstone-etcd-operator.It has more complete support for persistent storage and better disaster tolerance. In the next version, we will support rebuilding lost-quorum clusters using snapshots, and kstone-dashboard will also support visualization operations.
from kstone.
Hi tangcong, thanks for your reply.
Based on the official wiki:
https://etcd.io/docs/v3.5/op-guide/runtime-configuration/# restart-cluster-from-majority-failure
When we use a dynamic way to deploy Etcd clusters(That's how it works in K8s), it appears that the only way to rebuild a lost-quorum cluster is to take a snapshot. The problem of snapshots is that if we use a snapshot to recover, we'll definitely lose some data(after the snapshot is taken, some new update are write to etcd, then k8s cluster is down).
If use the static way to build a etcd cluster, I can simply restart all nodes to rebuild the etcd cluster without using snapshot, do you have some ideas about how to achive it if we use dynamic way?
from kstone.
We support storing data on persistent data disks. If it is not persistent, we can also force a snapshot from the healthy node to rebuild the cluster, so that the probability of losing data is very small. @rayliu419
from kstone.
"We support storing data on persistent data disks. If it is not persistent"
I think most of k8s users will use PVC/PV as external storage, so that's not a problem. The problem is even if you have persistent data disks, you can't restore the cluster with these persistent data disks just as static way.
"we can also force a snapshot from the healthy node to rebuild the cluster, so that the probability of losing data is very small."
Yes, we can force the health node to dump snapshot, but here are two problems:
- Since etcd cluster continue to accept write all the time, you can't snapshot all writes, right?
- In some cases, such as k8s is down, you don't have a healthy node.
Actually, I don't know why etcd community doesn't have a solution to recover it without using snapshot(maybe they have, but I don't find it). In cloudnative enviorment, it's a critical case.
from kstone.
I think I find a way to recover the data without losing data. Etcd supports --force-new-cluster to reconfigure the cluster, we can find the latest node in the etcd cluster to restart the cluster. If more than half pvc survive, we can recover it in this way.
from kstone.
Yes, I submitted an issue #kstone-io/kstone-etcd-operator#2 at the time, and the plan was implemented in this way. thank you.
from kstone.
Related Issues (20)
- support etcd cluster inspection,which is password authentication
- Is it possible to use kstone to sync one etcd clusters to another HOT 1
- dashboard crash when creating cluster HOT 5
- Cannot login after changing the default password HOT 3
- Support intelligent diagnosis Feature Task List
- The backup page occur "Internal Server Error" error HOT 3
- 405_error HOT 3
- clone 下来 make后出现 golangci-lint 不再支持golint HOT 1
- How to expose managed etcd cluster to the outside of the k8s cluster without manually declare svc yaml HOT 1
- Binary Deployment Support HOT 2
- After refreshing, the filled information disappears HOT 1
- Support intelligent diagnosis have some plane? HOT 2
- 备份一直报failed to authenticate user
- Kstone可以用docker部署么 HOT 1
- 安装完密码是啥呀 HOT 1
- Is the project still being developed? HOT 2
- 登录提示Connection error(405)!,please check the network or contact the administrator!
- Is the project still under maintenance?
- kstone authentication support task list HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kstone.