Add an option (say ETCD_FIXED_CLUSTER with a list of peers URLs) to define the list of members, ignore any member known from the previous launch and don't allow the list to change. Connect to each other only if the list is the same on both sides.
That would allow to generate the config (with Ansible, Helm, etc) and just roll it out.
Why is this needed?
Right now it's hard to manage etcd in a flexible environment where you can add/remove/move members. The expected way to manage it is by connecting to the API directly and adding/removing members one by one. Which is impossible when ALL members just changed their IP addresses. Or very hard if any significant part of cluster changed.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.
What would you like to be added?
Add an option (say
ETCD_FIXED_CLUSTER
with a list of peers URLs) to define the list of members, ignore any member known from the previous launch and don't allow the list to change. Connect to each other only if the list is the same on both sides.That would allow to generate the config (with Ansible, Helm, etc) and just roll it out.
Why is this needed?
Right now it's hard to manage etcd in a flexible environment where you can add/remove/move members. The expected way to manage it is by connecting to the API directly and adding/removing members one by one. Which is impossible when ALL members just changed their IP addresses. Or very hard if any significant part of cluster changed.