将kubernetes内部网络扩展为仅主节点

时间:2015-11-05 20:22:20

标签: ubuntu kubernetes flannel

我正在尝试使用VM(主)和3个裸机服务器(都运行Ubuntu 14.04)设置一个小型Kubernetes集群。我正在关注Kubernetes install tutorial for Ubuntu。如果我使用4个节点(VM +服务器)作为小兵,一切正常。但是当我尝试将VM用作主设备时,它无法访问Flannel网络。我可以创建pod,服务等,但如果我尝试从主节点(VM)访问服务,它就找不到Flannel的IP。

我可以在Kubernetes的内部网络(在这种情况下是法兰绒的网络)中包含一个仅限主节点吗?如果没有,有关如何从主节点访问Kubernetes UI和其他服务的任何建议?

1 个答案:

答案 0 :(得分:1)

要让主节点访问群集网络,您可以在主节点上运行flanneldkube-proxy。这应该为您提供所需的访问权限。

但是,在使用kube-up.sh方法的上下文中添加这些组件可能有点牵扯。看起来你可能有一些选择,同时主要保留在该教程的框架内:

  • 您可以浏览kube-up.sh脚本并进行更改,以便在主节点上安装和配置kube-proxyflanneld,而不是kubelet。随着时间的推移,这可能很难维持。
  • 您可以像现在一样启动集群,将所有4个节点作为“节点”运行(以前称为'minions'的工作者的新名称)。然后将主节点标记为不可调度(kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}'),如概述here所示。主服务器仍将显示在节点列表等中,但它不应该安排任何pod,并且应该具有对集群的完全网络访问权。
  • 您也可以使用4个节点启动群集,然后登录并删除主服务器上的kubelet。这实际上与上述类似,除了主节点不会显示在节点列表中(尽管您在移除kubelet时可能必须将其删除(kubectl delete node $NODENAME)。

可能还有其他选择(总有!),但希望这些可以让你开始。