【问题标题】:Adding node to existing cluster in Kubernetes将节点添加到 Kubernetes 中的现有集群
【发布时间】:2015-11-26 03:00:02
【问题描述】:

我有一个运行在 2 台机器(master-minion 节点和 minion 节点)上的 kubernetes 集群。我想在不破坏当前设置的情况下添加一个新的 minion 节点,有什么办法吗?

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

【问题讨论】:

  • 您能否更新问题,详细说明您正在使用的kuberntes 版本和平台?
  • 这可能与我之前回答的重复:stackoverflow.com/questions/29654772/… 正如 Navid 所要求的,要获得确切如何做的答案,需要更多地了解您如何部署当前基础架构。

标签: cluster-computing kubernetes


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    要在最新版本中执行此操作(在 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,这是正确答案。
    • 如果集群不是使用 kubeadm 创建的怎么办?
    • 我认为只有 kubeadm 可以创建新的 join 命令。您是如何创建集群的?
    【解决方案3】:

    你需要在一个新的 minion 上运行 kubelet 和 kube-proxy,在 params 中指明 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-05
      • 2020-09-13
      • 1970-01-01
      • 2020-02-04
      • 2021-09-28
      • 2021-01-08
      • 1970-01-01
      • 2021-09-15
      相关资源
      最近更新 更多