gpt4 book ai didi

docker - Kubernetes Minions 之间的网络

转载 作者:行者123 更新时间:2023-12-02 11:38:28 25 4
gpt4 key购买 nike

我安装了一个 8 节点 kubernetes 集群(1 个 master + 7 个 minion),但我遇到了 minions 之间的网络问题。

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

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

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

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

我希望我能足够准确地描述我的设置,并提前致谢。

最佳答案

您遵循的 Fedora 指南只会让您在单台机器上运行。它避免了围绕节点设置网络的问题。

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

  • 每个容器都应该能够与其他每个容器通信,即使是跨节点也是如此。这也意味着这些容器的网桥 IP 范围不能重叠。
  • 在不在容器中的任何节点上运行的代码应该能够到达每个容器(反之亦然),甚至跨节点。
  • 如果网络上不属于集群的计算机可以直接访问容器,则没有必要(但很有用)。

  • 有很多方法可以实现这一点——例如,vagrant 的设置在每个节点之间设置 GRE 隧道。在 GCE 上,我们使用平台的特性来进行路由。如果您在交换机上的物理机上,您可能只需要使用网桥构建一个大型第 2 层网络。一种防弹的入门方法(但可能不是性能最高的,取决于您的设置)是使用类似 flannel 的方法。 .

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

    关于docker - Kubernetes Minions 之间的网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27457641/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com