添加/删除节点
参考
[ Kube 65.3 ] Kubespray - Adding & Removing Kubernetes nodes
添加节点
配置ansible访问新节点(192.168.1.203)
vi /etc/ansible/hosts
[k8s]
192.168.1.200 ansible_ssh_user=root
192.168.1.201 ansible_ssh_user=root
192.168.1.202 ansible_ssh_user=root
192.168.1.203 ansible_ssh_user=root
- 测试
ansible k8s -m ping
新增node4
vi inventory/mycluster/hosts.yaml
all:
hosts:
node1:
ansible_host: 192.168.1.200
ip: 192.168.1.200
access_ip: 192.168.1.200
node2:
ansible_host: 192.168.1.201
ip: 192.168.1.201
access_ip: 192.168.1.201
node3:
ansible_host: 192.168.1.202
ip: 192.168.1.202
access_ip: 192.168.1.202
node4:
ansible_host: 192.168.1.203
ip: 192.168.1.203
access_ip: 192.168.1.203
children:
kube-master:
hosts:
node1:
node2:
kube-node:
hosts:
node1:
node2:
node3:
node4:
etcd:
hosts:
node1:
node2:
node3:
k8s-cluster:
children:
kube-master:
kube-node:
calico-rr:
hosts: {}
下载依赖
- 假设
node1与node4为同系统 将node1/tmp/releasescopy至node4/tmp/releases即可避免node4再次下载k8s依赖组件
scp /tmp/releases root@192.168.1.203:/tmp/releases
- 确定依赖已完善
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml --tags container_engine
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml --tags download
添加节点
ansible-playbook -i inventory/mycluster/hosts.yaml scale.yml
移除节点
ansible-playbook -i inventory/mycluster/hosts.yaml remove-node.yml --extra-vars "node=node4"