首页 文章

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

提问于
浏览
1

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

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

1 回答

  • 1

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

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

    • 您可以浏览 kube-up.sh 脚本并对其进行更改,以便在主节点上安装和配置 kube-proxyflanneld ,而不是 kubelet . 随着时间的推移,这可能很难维持 .

    • 您可以像以前一样启动集群,将所有4个节点作为'nodes'运行(以前称为'minions'的工作者的新名称) . 然后将主节点标记为不可调度( kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}' ),如here所示 . 主服务器仍然会显示在节点列表等中,但它不应该安排任何pod,并且应该具有对集群的完全网络访问权限 .

    • 您也可以使用4个节点启动群集,然后只需登录并删除主服务器上的 kubelet . 这实际上与上述类似,除了主节点不会显示在节点列表中(尽管您可能必须在删除kubelet时将其删除( kubectl delete node $NODENAME ) .

    可能还有其他选择(总有!),但希望这些可以帮助您入门 .

相关问题