在Kubernetes中向现有集群添加节点

30

我有一个运行在两台机器上(主节点和从节点)的Kubernetes集群。我想添加一个新的从节点,而不破坏当前的设置,有什么办法可以做到吗?

我发现当我尝试添加新节点时,其他节点上的服务会停止它,因此我必须在部署新节点到现有集群之前停止这些服务。


你能否更新问题,提供更多关于你正在使用的Kubernetes版本和平台的细节? - Navid
这可能是我之前回答过的重复问题:https://dev59.com/6onda4cB1Zd3GeqPC7fH?rq=1 正如Navid所请求的那样,要想得到确切的如何操作的答案,需要更多地了解您当前基础架构的部署情况。 - Greg
3个回答

39

在最新版本中(已测试过1.10.0),您可以在主节点上执行以下命令:

kubeadm token create --print-join-command

它将输出一个新的加入命令(类似于您在kubeadmn init之后得到的那个):

kubeadm join 192.168.1.101:6443 --token tokentoken.lalalalaqyd3kavez --discovery-token-ca-cert-hash sha256:complexshaoverhere


对于任何最新版本的k8s,这都是正确答案。 - Brian Topping
8
如果集群不是使用kubeadm创建的,会怎么样? - VsMaX
我认为只有kubeadm可以创建新的加入命令。你是如何创建集群的? - Tom Dierckx

12
您需要在新的minion上运行kubelet和kube-proxy,并在参数中指定api地址。
示例:
kubelet --api_servers=http://<API_SERVER_IP>:8080 --v=2 --enable_server --allow-privileged
kube-proxy --master=http://<API_SERVER_IP>:8080 --v=2

完成后,您应该在中看到新节点

kubectl get no

0
在我的情况下,问题是由于现有的错误Route53“ A”记录引起的。 一旦将其更新为指向API服务器的内部IP,kube-proxy就能够访问主节点,并且该节点出现在列表中( kubectl get nodes )。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接