gpt4 book ai didi

带有 Traefik 的 Docker Swarm Windows Worker 返回网关超时

转载 作者:IT老高 更新时间:2023-10-28 12:36:47 25 4
gpt4 key购买 nike

目标是让混合操作系统 Docker swarm 使用 Linux 服务器和运行 Docker For Windows 的 Windows 10 机器运行

目前,如果 --endpoint-mode 标志设置为“dnsrr”,则理论上在混合操作系统群上支持 Windows worker 。这是解释here .然而尝试使用 traefik 路由到一个简单的 docker whoami 图像 stefanscherer/whoami图像失败。

最小的失败示例

// On (Linux) Manager Node:
docker swarm init --advertise-addr <hostaddress> --listen-addr <hostaddress>:2377

// On (Windows 10) Worker Node:
docker swarm join <jointoken>

// On Manager Node:
docker network create --driver=overlay traefik-net

docker service create \
--name traefik \
--constraint=node.role==manager \
--publish 80:80 --publish 8080:8080 \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--network traefik-net \
traefik \
--docker \
--docker.swarmmode \
--docker.domain=traefik \
--docker.watch \
--web

docker service create \
--name whoami \
--label traefik.enable=true \
--label traefik.frontend.rule=Host:whoami.docker \
--label traefik.protocol=http \
--label traefik.docker.network=traefik-net \
--label traefik.backend.loadbalancer.method=drr \
--label traefik.backend=whoami \
--network traefik-net \
--mode global\
--label traefik.port=80 \
stefanscherer/whoami

Traefik 成功设置后端规则,检查路由我使用 traefik 仪表板找出规则路由到的 URL,例如'10.0.0.12:8080'。然后我将其与每个任务的 IP 地址进行比较,可以使用 docker service ps 查看任务,并使用

找到它们的地址
docker inspect <taskID> \
--format '{{ range .NetworksAttachments }}{{ .Addresses }}{{ end }}'

问题

带有 header “Host:whoami.docker”的 HTTP 请求发送到管理器的 IP 时,在路由到管理器时会成功,而在路由到 Windows 工作器上的 Windows 任务时会失败并显示 504 Gateway Timeout。

最佳答案

您没有将 --endpoint-mode=dnsrr 设置为您的 whoami 服务。

docker service create \
--name whoami \
--label traefik.enable=true \
--label traefik.frontend.rule=Host:whoami.docker \
--label traefik.protocol=http \
--label traefik.docker.network=traefik-net \
--label traefik.backend.loadbalancer.method=drr \
--label traefik.backend=whoami \
--network traefik-net \
--mode global\
--label traefik.port=80 \
--endpoint-mode=dnsrr
stefanscherer/whoami

设置端点模式 dnsrr 将禁用可能导致问题的 VIP 地址。

关于带有 Traefik 的 Docker Swarm Windows Worker 返回网关超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45822412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com