是否有任何已知的解决方案可以让外部机器连接到docker swarm overlay网络上的容器?
答案 0 :(得分:0)
问题是合法的,请参见下面的示例,但是我不知道有一个简单的解决方案,我会提出一个可能的解决方案,稍后再进行测试和更新。
假设您有一个由许多Kafka组成的docker overlay网络, 几个节点(容器主机)。所有卡夫卡经纪人都与 彼此精美。
当Kafka 客户端需要访问Kafka 经纪人时,它将连接 对此(以某种方式说,据称即使通过Swarm的外部服务 端口),但是损坏的可能答复说该数据在另一个 经纪人,这里是其他经纪人的IP(位于叠加层上 网络)...表示 Kafka客户端必须能够访问所有Kafka 经纪人(覆盖网络)。
如果所有内容都是容器的,您可以轻松地做到这一点,但是如果没有呢?
您可以使用SDN或临时解决方案执行此操作: 具有两个网络的容器充当路由器,覆盖网络上的一个“分支”,另一个l2桥接到其他VM或主机所在的位置并通过它路由,您必须Swarm“约束”它才能运行应该可以正常工作!
如果有人有另一个干净的解决方案,我也很感兴趣