首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于DNS的多云群集群服务发现

基于DNS的多云群集群服务发现
EN

Stack Overflow用户
提问于 2020-11-08 10:27:50
回答 1查看 145关注 0票数 0

我已经成功地创建了一个多云群集群,GCP上有一个领导节点,AWS上有一个工作节点。部署运行良好,但我偶然发现的唯一问题是使用DNS名称的服务发现。

例如,我在领导节点上部署了一个名为db的服务,在工作节点上部署了一个应用程序服务。他们正在使用这样定义的覆盖网络:

代码语言:javascript
复制
networks:
  internal:
    attachable: true
    driver: overlay
    ipam:
      config:
        - subnet: 10.0.69.0/24

在GCP网络上,我打开了以下端口:

  • 2377 TCP端口,用于集群管理通信;
  • 7946 TCP&UDP端口,用于节点间通信;
  • 4789用于覆盖网络流量。

在AWS网络上,我打开了以下端口:

  • 7946 TCP&UDP端口,用于节点间通信;
  • 4789用于覆盖网络流量。

(资料来源:https://docs.docker.com/engine/swarm/swarm-tutorial/)

db容器获取IP 10.0.69.8应用程序容器获取IP 10.0.69.21。容器不能互相平分,也不能解析db和app DNS名称。我得到的只有Destination Host Unreachable当我试图平另一个。

我的方法很粗略,我遗漏了什么吗?还是我破坏了一些基本的东西?多云群集群是否需要已经连接的网络?如果是这样的话,GCP和AWS网络之间的VPN是唯一的途径吗?

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 13:05:42

如果您想在两个不同的云中创建一个群集(集群),你必须使用VPN --据我所知,没有办法绕过它。

如您所见,节点可以使用公共IP的但是容器不能 (它们只能使用内部IP)进行通信,并且您的GCP和AWS网络没有连接。

“服务或容器只能通过它们所连接的网络进行通信。”

在这种情况下,DNS解决不是这里的问题。只是效果而已。

当您连接网络时,请确保GCP和AWS子网的IP不重叠,否则您可能面临另一个问题,不得不使用双NAT或其他非常复杂的解决方案。

最好保持它简单(阅读-更好地使用一个云),并保持您的集群在那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64737001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档