manual intervention on etcd member removal aren't required anymore (#6248)

This commit is contained in:
Alexander Petermann 2020-06-12 10:13:54 +02:00 committed by GitHub
parent 1912df7e3e
commit 75571ed303
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -117,39 +117,19 @@ Otherwise the etcd cluster might still be processing the first join and fail on
## Removing an etcd node ## Removing an etcd node
### 1) Remove old etcd members from the cluster runtime ### 1) Remove an old etcd node
Acquire a shell prompt into one of the etcd containers and use etcdctl to remove the old member. Use a etcd master that will not be removed for that.
```sh
# list all members
etcdctl member list
# run remove for each member you want pass to remove-node.yml in step 2
etcdctl member remove MEMBER_ID
# careful!!! if you remove a wrong member you will be in trouble
# wait until you do not get a 'Failed' output from
etcdctl member list
# note: these command lines are actually much bigger, if you are not inside an etcd container, since you need to pass all certificates to etcdctl.
```
You can get into an etcd container by running `docker exec -it $(docker ps --filter "name=etcd" --format "{{.ID}}") sh` on one of the etcd masters.
### 2) Remove an old etcd node
With the node still in the inventory, run `remove-node.yml` passing `-e node=NODE_NAME` as the name of the node that should be removed. With the node still in the inventory, run `remove-node.yml` passing `-e node=NODE_NAME` as the name of the node that should be removed.
If the node you want to remove is not online, you should add `reset_nodes=false` to your extra-vars. If the node you want to remove is not online, you should add `reset_nodes=false` to your extra-vars.
### 3) Make sure only remaining nodes are in your inventory ### 2) Make sure only remaining nodes are in your inventory
Remove `NODE_NAME` from your inventory file. Remove `NODE_NAME` from your inventory file.
### 4) Update kubernetes and network configuration files with the valid list of etcd members ### 3) Update kubernetes and network configuration files with the valid list of etcd members
Run `cluster.yml` to regenerate the configuration files on all remaining nodes. Run `cluster.yml` to regenerate the configuration files on all remaining nodes.
### 5) Shutdown the old instance ### 4) Shutdown the old instance
That's it. That's it.