1

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

我可以在 Kubernetes 的内部网络(本例中为 Flannel 的网络)中包含一个仅主节点吗?如果没有,关于如何从主节点访问 Kubernetes UI 和其他服务的任何建议?

4

1 回答 1

2

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

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

  • 您可以浏览kube-up.sh脚本并对其进行更改,以便它在主节点上安装和配置,但kube-proxy不是. 随着时间的推移,这可能很难维持。flanneldkubelet
  • 你可以像你已经拥有的那样启动集群,所有 4 个节点都作为“节点”运行(以前称为“minions”的工作人员的新名称)。然后将主节点标记为不可调度 ( ),如此kubectl patch nodes $NODENAME -p '{"spec": {"unschedulable": true}}'所述。master 仍然会出现在节点列表等中,但它不应该安排任何 Pod,并且应该对集群具有完整的网络访问权限。
  • 您还可以启动集群,因为您已经拥有 4 个节点,然后只需登录并删除kubelet主节点上的节点。这实际上与上面类似,除了 master 不会出现在节点列表中(尽管您可能必须在删除kubectl delete node $NODENAMEkubelet 时删除它 ( )。

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

于 2015-11-06T16:11:25.710 回答