Clarify first master replace (#7761)
* Update nodes.md * fix syntax * fix syntax - part 2 * replace master with kube_control_plane * return etcd-master
This commit is contained in:
parent
9b87131b19
commit
63e92d719a
1 changed files with 43 additions and 4 deletions
|
@ -69,8 +69,8 @@ Before using `--limit` run playbook `facts.yml` without the limit to refresh fac
|
|||
### 3) Remove an old node with remove-node.yml
|
||||
|
||||
With the old node still in the inventory, run `remove-node.yml`. You need to pass `-e node=NODE_NAME` to the playbook to limit the execution to the node being removed.
|
||||
|
||||
If the node you want to remove is not online, you should add `reset_nodes=false` to your extra-vars: `-e node=NODE_NAME -e reset_nodes=false`.
|
||||
|
||||
If the node you want to remove is not online, you should add `reset_nodes=false` and `allow_ungraceful_removal=true` to your extra-vars: `-e node=NODE_NAME -e reset_nodes=false -e allow_ungraceful_removal=true`.
|
||||
Use this flag even when you remove other types of nodes like a control plane or etcd nodes.
|
||||
|
||||
### 4) Remove the node from the inventory
|
||||
|
@ -95,7 +95,46 @@ docker ps | grep k8s_nginx-proxy_nginx-proxy | awk '{print $1}' | xargs docker r
|
|||
### 3) Remove old control plane nodes
|
||||
|
||||
With the old node still in the inventory, run `remove-node.yml`. You need to pass `-e node=NODE_NAME` to the playbook to limit the execution to the node being 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` and `allow_ungraceful_removal=true` to your extra-vars.
|
||||
|
||||
## Replacing a first control plane node
|
||||
|
||||
### 1) Change control plane nodes order in inventory
|
||||
|
||||
from
|
||||
|
||||
```ini
|
||||
[kube_control_plane]
|
||||
node-1
|
||||
node-2
|
||||
node-3
|
||||
```
|
||||
|
||||
to
|
||||
|
||||
```ini
|
||||
[kube_control_plane]
|
||||
node-2
|
||||
node-3
|
||||
node-1
|
||||
```
|
||||
|
||||
### 2) Remove old first control plane node from cluster
|
||||
|
||||
With the old node still in the inventory, run `remove-node.yml`. You need to pass `-e node=node-1` to the playbook to limit the execution to the node being removed.
|
||||
If the node you want to remove is not online, you should add `reset_nodes=false` and `allow_ungraceful_removal=true` to your extra-vars.
|
||||
|
||||
### 3) Edit cluster-info configmap in kube-system namespace
|
||||
|
||||
`kubectl edit cm -n kube-public cluster-info`
|
||||
|
||||
Change ip of old kube_control_plane node with ip of live kube_control_plane node (`server` field). Also, update `certificate-authority-data` field if you changed certs.
|
||||
|
||||
### 4) Add new control plane node
|
||||
|
||||
Update inventory (if needed)
|
||||
|
||||
Run `cluster.yml` with `--limit=kube_control_plane`
|
||||
|
||||
## Adding an etcd node
|
||||
|
||||
|
@ -124,7 +163,7 @@ In every control plane node, edit `/etc/kubernetes/manifests/kube-apiserver.yaml
|
|||
### 1) 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.
|
||||
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` and `allow_ungraceful_removal=true` to your extra-vars.
|
||||
|
||||
### 2) Make sure only remaining nodes are in your inventory
|
||||
|
||||
|
|
Loading…
Reference in a new issue