在vCenter

时间:2015-09-30 17:20:37

标签: networking kubernetes

所以Kubernetes有一个非常新颖的网络模型,我相信它基于它认为是默认Docker网络的缺点。虽然我仍然在努力理解:(1)它认为实际存在的缺点是什么,以及(2)Kubernetes的一般解决方案是什么,我现在正处于一个我想要实施的地步解决方案,也许这会让我更好一点。

尽管Kubernetes的其他文档非常成熟且编写得很好,但配置网络的说明很少,基本上不连贯,并且跨越了许多不同的文章,而不是位于一个特定的位置。

我希望之前(从头开始)设置Kubernetes群集的人可以帮助我完成基本程序。我对在GCE或AWS上运行不感兴趣,现在我对使用任何类型的覆盖网络都不感兴趣,例如flannel

我的基本理解是:

  1. 为您的所有广告分区创建一个/16子网。这将限制您使用大约65K的容量,这对于大多数正常应用来说应该足够了。此子网中的所有IP都必须是“公共”,而不是某些传统私有(有类)范围内的。
  2. 在某处创建一个cbr0网桥并确保其持久性(但在哪台计算机上?
  3. 删除/禁用Docker安装的MASQUERADE规则。
  4. 如何配置iptables路由(再次,在哪里?),以便Kubernetes发布的每个pod都会收到其中一个公共IP。
  5. 需要使用其他一些设置来使用负载均衡Services和动态DNS。
  6. 提供5个虚拟机:1个主人,4个小兵
  7. 在所有5个VM上安装/配置Docker
  8. 安装/配置kubectlcontroller-managerapiserveretcd到主服务器,并将其作为服务/守护程序运行
  9. 在每个小兵上安装/配置kubeletkube-proxy并将其作为服务/守护进程运行
  10. 这是我可以从2整天的研究中收集到的最好的,它们可能是错误的(或误导的),乱序,完全不完整。

    我可以在内部部署的vCenter群集中无限制地创建虚拟机。如果需要对VLAN / Switches /等进行更改。我可以参与基础设施。

    我应该为Kubernetes设置多少个虚拟机(适用于中小型集群),为什么?我需要对上面的模糊说明做出哪些确切的更正,以便完全配置网络?

    我很擅长安装/配置所有二进制文件。只是在设置的网络方面完全窒息。

1 个答案:

答案 0 :(得分:3)

对于kubernetes网络的一般性介绍,我发现http://www.slideshare.net/enakai/architecture-overview-kubernetes-with-red-hat-enterprise-linux-71非常有帮助。

关于你的物品(1)和(2):恕我直言,他们在https://github.com/kubernetes/kubernetes/blob/master/docs/admin/networking.md#docker-model中得到了很好的描述。 根据我的经验:Docker NAT类型的方法有什么问题?有时您需要配置,例如进入软件所有节点的所有端点(172.168.10.1:8080,172.168.10.2:8080等)。在kubernetes中,您可以简单地将pod的IP配置到每个其他pod中,Docker使用NAT间接使其复杂化。 另请参阅Setting up the network for Kubernetes以获得一个很好的答案。

评论您的其他观点: 1.

  

此子网中的所有IP必须是" public"而不是在一些传统的私人(有类)范围内。

"内部网络" kubernetes通常使用私有IP,参见上面的幻灯片,其中使用10.x.x.x作为示例。我想混淆来自一些kubernetes文本,这些文本指的是" public" as"在节点外可见#34;但它们并不意味着" Internet公共IP地址范围"。