ip | hostname | OS | kernel version | role |
---|---|---|---|---|
192.168.56.15 | node5 | CentOS 7.4 | 4.20.13-1 | etcd |
192.168.56.16 | node6 | CentOS 7.4 | 4.20.13-1 | master |
192.168.56.17 | node7 | CentOS 7.4 | 4.20.13-1 | worker |
192.168.56.18 | node8 | CentOS 7.4 | 4.20.13-1 | lb |
192.168.56.19 | node9 | CentOS 7.4 | 4.20.13-1 | lb |
-
编辑原有主机清单文件,在
[all]
节点组中添加新节点信息[all] ... + node7 ansible_host=192.168.56.17 ansible_user=vagrant ansible_ssh_pass=vagrant ...
-
在
[new-worker]
节点组中添加新节点信息... [new-worker] + node7 ...
-
执行 worker 节点添加操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 81-add-worker.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令添加 worker 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 81-add-worker.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
添加完成后,将
[new-worker]
节点组中新节点信息移动至[kube-worker]
节点组... [kube-worker] node1 node2 node3 node4 + node7 ... [new-worker] - node7 ...
-
此操作仅为移除 worker 角色操作,并不会完全将该节点移出集群;若需移出集群,请看本文
删除节点
操作 -
在
[del-worker]
节点组中添加需删除角色的节点信息... [del-worker] + node7 ...
-
执行 worker 角色删除操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 84-remove-worker.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令删除 worker 角色
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 84-remove-worker.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
删除完成后,更新
[del-worker]
节点组以及[kube-worker]
节点组... [kube-worker] node1 node2 node3 node4 - node7 ... [del-worker] - node7 ...
-
编辑原有主机清单文件,在
[all]
节点组中添加新节点信息[all] ... + node6 ansible_host=192.168.56.16 ansible_user=vagrant ansible_ssh_pass=vagrant ...
-
在
[new-master]
节点组中添加新节点信息... [new-master] + node6 ...
-
执行 master 节点添加操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 82-add-master.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令添加 master 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 82-add-master.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
添加完成后,将
[new-master]
节点组中新节点信息移动至[kube-master]
节点组... [kube-master] node1 node2 node3 + node6 ... [new-master] - node6 ...
-
移除 master 角色,则该节点将转换为 worker 角色节点
-
在
[del-master]
节点组中添加需删除节点信息... [del-master] + node6 ...
-
执行 master 节点删除操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 85-remove-master.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令删除 master 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 85-remove-master.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
删除完成后,更新
[del-master]
、[kube-master]
节点组以及[kube-worker]
节点组... [kube-master] node1 node2 node3 - node6 ... [kube-worker] node1 node2 node3 + node6 ... [del-master] - node6 ...
注意: 同时只能添加一个 etcd 节点。
-
编辑原有主机清单文件,在
[all]
节点组中添加新节点信息[all] ... + node5 ansible_host=192.168.56.15 ansible_user=vagrant ansible_ssh_pass=vagrant ...
-
在
[new-etcd]
节点组中添加新节点信息... [new-etcd] + node5 ...
-
执行 etcd 节点添加操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 83-add-etcd.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令添加 etcd 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 83-add-etcd.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
添加完成后,将
[new-etcd]
节点组中新节点信息移动至[etcd]
节点组... [etcd] node1 node2 node3 + node5 ... [new-etcd] - node5 ...
-
在
[del-etcd]
节点组中添加需删除节点信息... [del-etcd] + node1 ...
-
执行 etcd 节点删除操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 86-remove-etcd.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 86-remove-etcd.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
删除完成后,更新
[del-etcd]
节点组以及[etcd]
节点组... [etcd] - node1 node2 node3 node5 ... [del-etcd] - node1 ...
-
添加或删除 lb 节点都按下面方式进行,维护好节点组信息即可
-
在
[lb]
节点组中添加或删除节点信息... [lb] + node8 + node9 ...
-
执行 lb 节点添加或删除操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 04-load-balancer.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 04-load-balancer.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
此为完全移除节点操作,操作前请先移除该节点所有角色。
-
在
[del-node]
节点组中添加需删除节点的信息... [del-node] + node1 ...
-
执行节点删除操作
-
基本配置执行
ansible-playbook -i example/hosts.m-master.ip.ini 87-remove-node.yml
-
注意: 如果安装集群时使用高级配置,则使用该命令删除 etcd 节点
ansible-playbook -i example/hosts.m-master.ip.ini -e @example/variables.yaml 87-remove-node.yml
若
example/hosts.m-master.ip.ini
文件中与example/variables.yaml
参数冲突时,example/variables.yaml
文件中的变量值优先级最高。
-
-
删除完成后,更新
[kube-worker]
节点组以及[del-node]
节点组... [kube-worker] - node1 node2 node3 node5 ... [del-node] - node1 ...