我在3台服务器上运行了一个Kubernetes集群,一个主服务器和2个服务器。我想补充一个小兵。是否可以添加一个小兵而无需再次完成整个安装?到目前为止,在搜索指南时,我只能找到有关整个群集的优秀指南。
答案 0 :(得分:3)
对我而言,主人和奴才之间的区别在于开始和编排的过程(主人发出信号表明他们已经完成并且他们现在可以出现,仆从等待信号)。事情发生后培养一个小兵不会有任何不同,除了信号已经完成,所以仆从才会出现。这看起来像是一个合理的实验,所以我想我会尝试一下!我在数字海洋vps中运行,使用coreos(稳定)和cloud-config来调出fleet + flanneld + k8s。在主人身上我有:
这里重要的过程是kube-register。我看看它的输出:
journalctl -u kube-register
看看当时的小兵注册。要查看我目前拥有的所有仆从:
core@pa1 ~/tmp $ kubectl get minions
NAME LABELS STATUS
104.236.214.244 <none> Ready
104.236.31.77 <none> Ready
关于我所拥有的流程的仆从:
我认为kube-kubelet是向主人注册的东西,但我可能是错的。我知道大师经常在kubelet上查询healthz,所以它知道一个小兵是否准备好工作了。无论如何,我有一个脚本,为主人和仆从创建我的云配置。我刚刚将该脚本修改为&#39;跳过&#39;主云配置,只需做minion配置。我跑了,现在是我的仆从:
core@pa1 / $ kubectl get minions
NAME LABELS STATUS
104.236.214.244 <none> Ready
104.236.31.77 <none> Ready
45.55.164.39 <none> Ready
因此,长篇故事甚至更长,是的,可以将minion添加到现有节点集群。我不知道你是如何进行发现的,但是,无论你采用何种方法来介绍&#39;首先,你对主人的仆从会起作用。
答案 1 :(得分:3)
我也被困在这一段时间了。我发现解决方案非常简单。
如果您已经拥有一个主人,请按照它们出现的顺序在未连接的小兵上启动以下过程。 (我想如果你使用不同的网络覆盖,你可以先启动一个类似的网络覆盖。)
/opt/bin/flanneld --etcd-endpoints=http://<masterip>:4001
/opt/bin/kubelet --address=0.0.0.0 --port=10250 --hostname-override=<localhostip> --api-servers=http://<masterip>:8080 --logtostderr=true --cluster-domain=cluster.local --cluster-dns=192.168.3.10
/opt/bin/kube-proxy --master=http://<masterip> --logtostderr=true
如果有疑问,只需查看一个连接的minon进程,看看每个进程运行的标志。