首页 文章

kubernetes奴才之间的网络

提问于
浏览
2

我安装了一个8节点kubernetes集群(1个主人7个小兵),但我遇到了一个小伙子的网络问题 .

我根据this step-by-step Fedora manual安装了我的集群,因此我使用Fedora 20及其测试存储库来获取kubernetes二进制文件 .

安装后,我想尝试guestbook example,但在我看来,容器间网络存在问题 .

虽然容器/ POD处于运行状态,我可以通过浏览器和redis容器(通过natcat)到达我的3个前端容器,但是与redis不在同一主机上的前端无法访问redis主机 . 前端的PHP回馈网络异常 .

任何人都可以帮助我为什么容器无法在主机之间相互接触?

我希望我能够准确地描述我的设置,并提前感谢 .

1 回答

  • 3

    您遵循的Fedora指南只会让您在一台计算机上运行 . 它避免了跨节点 Build 网络的问题 .

    要使kubernetes工作,必须满足以下网络设置:

    • 每个容器应该能够与每个其他容器通信,甚至跨节点 . 这也意味着这些容器的桥接IP范围不得重叠 .

    • 在不在容器中的任何节点上运行的代码应该能够到达每个容器(反之亦然),甚至跨节点 .

    • 如果网络上不属于群集的计算机可以直接访问容器,则没有必要(但很有用) .

    有很多方法可以实现这一点 - 例如,为vagrant设置在每个节点之间设置GRE隧道 . 在GCE上,我们使用平台的功能来进行路由 . 如果你在交换机上的物理机器上,你可能只需要做一个大的第2层网络w / bridge . 一个开始的防弹方法(但可能不是最高性能,取决于你的设置)是使用像flannel这样的东西 .

    我们正在努力使这些东西更容易启动(不使用一堆shell脚本)并且正在考虑构建类似法兰绒的东西,以便有合理的默认值 .

相关问题