【问题标题】:request service from minion only forward to local deployed pod in that minion从 minion 请求服务仅转发到该 minion 中的本地部署 pod
【发布时间】:2016-11-15 15:59:43
【问题描述】:

我正在研究 POC,在设置我的 kubernetes 集群后发现了一些奇怪的行为 事实上,我正在研究一个主人和两个仆从的拓扑结构。 当我尝试在每个 minion 中组成 2 个 pod 并为它们公开服务时,结果发现当我尝试从 master 请求服务时,没有返回任何内容(来自 2 个 pod 的任何响应),当我尝试请求来自 minion 的服务,只有部署在该 minion 中的 pod 响应,而另一个没有响应。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    这在很大程度上取决于您的集群的配置方式。 对于初学者,您需要验证网络是如何设置的,以及它是否按 kubernetes 的预期工作。简而言之,如果您启动两个 pod(在不同的节点上),它们应该从其专用的每个节点范围中获取 IP,并能够在节点之间进行路由。您可以使用一些小的(ish)基础映像(alpine/debian/ubuntu 等),例如 sleep 1d ,使用 bash 交互地执行到它们中,然后简单地从另一个中 ping 一个。如果它不起作用,则您的网络设置已损坏。

    确保您在 pod 之间进行测试,而不是直接从节点主机操作系统进行测试。在某些配置中,由于路由问题,节点无法访问服务 IP,但 pod-to-pod 工作正常(在某些 flannel 配置中看到这一点)

    此外,您的网络可能是由一些覆盖网络解决方案提供的,例如法兰绒、编织、印花布等,因此请检查它们各自的日志以查找问题迹象。

    【讨论】:

    • 非常感谢您的回答。昨天在做了一些高级研究后,我发现了一个在 bugzilla redhat 上声明的错误 (bugzilla.redhat.com/show_bug.cgi?id=1342940)。他们谈论的正是我现在所面临的。我正在使用 flannel 0.6.2、etcd 2.3.7、kubernetes 1.2.0(主端)、kubernetes 1.2.4(节点端)和 docker 1.10.3。他们提出了一种解决方法,但似乎不是很干净。有没有办法做得更好?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2021-03-27
    • 2015-11-20
    • 1970-01-01
    相关资源
    最近更新 更多