使用单个 IP 或 DNS 名称向多节点 Docker Swarm 集群发出请求



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

我尝试了 --端点模式 dnsrr。但我认为这不是为了外部请求平衡。我必须使用反向代理或外部负载均衡器。我可以用软件和便宜来制作。我希望帮助我。谢谢。

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

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

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

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

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

最新更新