7

我有一个 Kubernetes 集群在 3 个服务器、一个主服务器和 2 个仆从上运行。我想添加另一个奴才。是否可以添加一个奴才而无需再次进行完整安装?到目前为止,在搜索执行此操作的指南时,我只能找到有关启动整个集群的优秀指南。

4

2 回答 2

3

对我来说,master 和 minion 之间的区别在于启动的进程和编排(master 向 minions 发出信号,表明它已经完成,他们现在可以上来,minions 等待信号)。在事情完成后调出一个仆从并没有什么不同,除非信号已经完成,所以仆从就会出现。这对我来说似乎是一个合理的实验,所以我想我会尝试一下!我在数字海洋 vps 中运行,使用 coreos (stable) 和 cloud-config 来调出fleet + flanneld + k8s。在主人我有:

  • 舰队
  • 法兰绒
  • 码头工人
  • kube-apiserver
  • kube-控制器-管理器
  • kube-调度器
  • 库贝注册

这里的重要过程是 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-代理
  • kube-kubelet

我认为 kube-kubelet 是向 master 注册的东西,但我可能是错的。我确实知道 master 不断地向 kubelet 查询 healthz,所以它知道 minion 是否准备好工作。无论如何,我有一个脚本可以为 master 和 minions 创建我的云配置。我刚刚修改了该脚本以“跳过”主云配置,而只进行从属配置。我运行它,现在这是我的奴才:

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 添加到现有节点集群。我不知道您是如何进行发现的,但是,无论您最初用来将您的奴才“介绍”给主人的任何方法都将起作用。

于 2015-04-16T13:11:38.630 回答
3

我也被困了一段时间。我发现解决方案非常简单。

如果您已经有一个 master,请按照它们出现的顺序在未连接的 minion 上启动以下进程。(我想如果你使用不同的网络覆盖,你可以先启动一个类似的网络覆盖)。

/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 进程之一,以查看每个进程正在运行的标志。

于 2016-05-05T00:41:18.973 回答