docker - Docker swarm:负载均衡是如何工作的
问题描述
我以集群模式运行服务。我有一个管理器和两个工作节点,服务在三个节点上划分了 6 个副本。我可以使用 , 来获得我的服务,manager:8080
没有任何问题。worker1:8080
worker2:8080
现在,当我排空或关闭 worker2 时,worker2:8080
它仍然可以工作,这就是我所期望的。但是,当我耗尽经理时......manager:8080
不再可以访问了。为什么会这样?
我想将 swarm 用作具有高可用性的负载均衡器。
我的经理有一个域,所以当我打开domain:8080
并且经理上的容器由于任何原因而关闭时,它应该重定向到我理解的其中一名工人。这甚至可能吗?还是我必须将域分配给工作人员?
编辑:
我开始服务:
docker stack deploy -c docker-compose.yml --with-registry-auth <service_name>
my compose file:
version: "3.5"
services:
portal:
image: image-from-gitlab-registry:latest
ports:
- '80:80'
- '443:443'
deploy:
replicas: 6
networks:
- network
restart: always
redis:
image: redis:6.0.1
deploy:
replicas: 3
networks:
- network
ports:
- "6379:6379"
restart: always
environment:
- ALLOW_EMPTY_PASSWORD=yes
networks:
network:
解决方案
推荐阅读
- php - 计算引擎 | LSB 启动失败:Treasure Data 的数据采集器
- django - 不同模型的Django模型
- c# - ML.NET 张量流 half_plus_two
- javascript - 如何在 Reactjs 应用程序中使用分页
- node.js - 使用 NodeJS/Typescript 在控制台中的打字机效果
- r - 用不同的模式替换文本
- javascript - 如何从 Puppeteer 将文本输入到 Flash TextArea 中?
- cadence-workflow - 从 Cadence 工作流程和活动记录消息的最佳方式是什么?
- json - 你如何编码 WIQL JSON?
- javascript - 替代正面看背后