介绍
介绍
节点和主机是什么关系?到底是添加节点还是添加主机?福哥来解释一下,在E文版本里面这个对象叫“Node”,而在中文版本里面这个对象被翻译成“主机”,但是“Node”直译的话叫“节点”,所以福哥也说不清楚到底是节点还是主机了,干脆就叫“节点主机”好了~~
添加节点主机是对一个已经存在的集群扩容的操作,通过给一个集群添加节点主机,就可以在集群里面部署更多的服务了。
集群与主机
要说明白这个问题先要理解Kubernetes的理念,在K8S的设想里面,没有主机概念。就是说我们之前对于服务部署的第一要素目标主机,在K8S里面被淡化了,被隐藏起来了。
在K8S里面,他会通过防火墙和Docker将多台主机上面的容器进行一个整合,我们创建的服务会智能的安排到其中一台主机上面,而这个过程你不需要关心。
安装
docker
首先,新主机需要有docker环境。没有的话,自己安装一下吧。
镜像
其次,新主机需要下载很多镜像。
如果新主机不能联网的话,可以手动下载,或者放到自己搭建的registry仓库里面。
rancher/hyperkube:v1.20.9-rancher1 rancher/rancher-agent:v2.5.9 rancher/rke-tools:v0.1.77 rancher/rke-tools:v0.1.75 rancher/nginx-ingress-controller:nginx-0.43.0-rancher3 rancher/mirrored-coreos-etcd:v3.4.15-rancher1 rancher/mirrored-calico-node:v3.17.2 rancher/mirrored-calico-pod2daemon-flexvol:v3.17.2 rancher/mirrored-calico-cni:v3.17.2 rancher/mirrored-calico-kube-controllers:v3.17.2 rancher/mirrored-metrics-server:v0.4.1 rancher/mirrored-coredns-coredns:1.8.0 rancher/coreos-flannel:v0.13.0-rancher1 rancher/mirrored-cluster-proportional-autoscaler:1.8.1 rancher/kube-api-auth:v0.1.4 rancher/mirrored-pause:3.2
添加主机
集群列表
https://192.168.2.168:44386/g/clusters
可以看到tongfunet集群目前只有一台主机tf-node-alpha。
注册命令
点击tflinux集群右边的“...”,点击“Registration Cmd”菜单,查看集群注册命令。
启动主机
同样的福哥勾选了Etcd和Control Plane两个选项。
在新服务器上面执行这段命令。
注意一个问题,就是这里必须通过CATTLE_NODE_NAME设置一个节点主机的名称,而且这个名称必须和集群里面的其他节点主机的名称不一样,否则就会添加失败并且没有报错。(这个问题足足折腾了福哥好几天)
docker run -d --privileged -e CATTLE_NODE_NAME=tf-node-beta --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.5.9 --server https://192.168.2.168:44386 --token zndsglg8c2kb9cflj8bz5t9vhfng5ht9746plrjhc4nmztjg6kb6zz --ca-checksum d24fe652ac1fd0b67d30d83cf309a5f01d73eada5b9fb3b166f23dc6c6f0ee0d --etcd --controlplane --worker
回到集群列表可以看到tongfunet集群又更新起来了。(如果没有设置节点主机名称或者设置重复了就完全没有反应)
经过漫长的等待,终于成功了,可以看到tongfunet的主机数量变成了2了!!!
点集群tongfunet的主机数列,查看主机名称,可以看到tf-node-alpha和tf-node-beta两个主机。
总结
我们可以在集群资源不足的情况下通过添加节点主机的方式完成集群的扩容操作,而且这个操作完全不需要我们手动配置防火墙、设置docker等等的操作,直接就可以使用起来了。
这就是Rancher 2.x最牛逼的地方了~~