0

我打算使用 docker swarm 模式来托管我的应用程序。目前正在寻找一种将 F5 负载均衡器与 docker swarm 模式服务发现集成的方法。是否有实现此目的的用例?我知道我们可以发布带有主机的端口并将流量从 F5 路由到主机 ip,但这将限制我只运行每个主机的任务。

我可以使用 Consul 作为服务发现并拥有服务的主机名,以便我将绑定 dns 设置以将 dns 请求转发给 consul?

非常感谢您的建议/想法。

提前致谢。

4

1 回答 1

0

在不了解您的预期应用程序的情况下,如果我使用的是服务发现 VIP 而不是 DNSRR,我会将每个广告 VIP 视为 BIG-IP VIP 后面的节点。这样,您可以使用 BIG-IP 的 iControlREST 在 Swarm 的服务发现中添加/修改/删除节点。

卷曲示例:curl -sk -u 'admin:admin' -H "Content-Type: application/json" -X POST https://x.x.x.x/mgmt/tm/ltm/pool -d '{"name":"test-pool","members":[{"name":"Server-Bob:443","address":"10.0.0.1"}]}'

使用上述想法,您将拥有一个通过 BIG-IP 发布的应用程序,并且您将通过 Ansible/Python/Whatever 动态添加/删除 docker 服务发现的 VIP。

您可以使用 Consul 进行服务发现,但我认为您会创建冗余功能,因为 Swarm 可以完成类似的发现任务。添加绑定 DNS 要求不会使管理变得容易得多。从技术上讲,有很多方法可以做到这一点,但如果你已经建立了 BIG-IP 基础设施,那么这种方法对我来说最有意义。如果我在您的申请要求中遗漏了某些内容,请告诉我,我可以修改我的答案。

于 2017-07-12T16:54:08.453 回答