很可能是一个非常微不足道的问题,但我在文档中找不到有关此类功能的任何内容。从路由网格文档中我们知道:
所有节点都参与一个入口路由网格。路由网格使 swarm 中的每个节点都可以在已发布的端口上接受在 swarm 中运行的任何服务的连接,即使该节点上没有运行任何任务。路由网格将所有传入请求路由到可用节点上的已发布端口到活动容器。
但是,我不希望某些节点参与路由网格,但我仍然希望它们参与托管服务。
我试图实现的配置看起来有点像这样:
我有一个服务,hello-world
有三个实例,每个节点上一个。
在这个例子中,我只想node-1
和node-2
参与外部化ingress
网络。但是,当我访问时10.0.0.3
,它仍然会暴露端口80
,443
因为它仍然必须有ingress
网络才能运行容器hello-world
,我不希望这种情况发生。
从本质上讲,我希望能够为托管 port 80
& 443
on的服务运行容器,而无需通过在 Web 浏览器中10.0.0.3
访问来访问它。10.0.0.3
有没有办法配置这个?即使节点上没有运行容器,它仍然会将流量转发到正在运行的容器。
谢谢!