外部F5负载均衡器与Docker swarm服务发现集成

时间:2017-07-11 16:00:24

标签: docker load-balancing service-discovery f5 docker-swarm-mode

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

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

建议/想法非常感谢。

提前致谢。

1 个答案:

答案 0 :(得分: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服务。

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

相关问题