1

我想提供高可用服务。但是,我不知道如何从集群外部使用单个 ip 或 dns 名称向集群服务发出请求。

我试过--endpoint-mode dnsrr。但我认为这不是为了外部请求平衡。我必须使用反向代理还是外部负载均衡器。我可以用软件制作而且便宜。我希望帮助我。谢谢你。

4

2 回答 2

0

使用命令--publish-add参数将docker swarm 服务的端口映射到主机 VM 端口。docker service update然后使用主机 ip 和端口访问服务。

您还可以使用语法创建具有已发布端口的服务。--publish host_vm_port:service_port例如:

docker service create --name my_web --replicas 3 --publish 8080:80 nginx

将创建具有 3 个副本的 docker swarm 服务 nginx,其中 nginx 端口 80 映射到主机 VM 8080 端口。然后您的软件客户端可以使用 [vm_ip:80/service_url] url 访问该服务

于 2019-10-05T13:39:42.003 回答
0

我知道这是一个老问题,但根据您的设置,您可能可以使用keepalived。它允许您定义一个静态的虚拟 IP,只要还有一台机器在运行,它就会始终指向您的一台机器。

于 2020-08-23T17:00:19.947 回答