Quite possibly a very trivial question but I can't find anything in the documentation about a feature like this. As we know from the routing mesh documentation:
All nodes participate in an ingress routing mesh. The routing mesh enables each node in the swarm to accept connections on published ports for any service running in the swarm, even if there’s no task running on the node. The routing mesh routes all incoming requests to published ports on available nodes to an active container.
However, I do not wish some nodes to participate in the routing mesh, but I still want them to participate in hosting the service.
The configuration I'm trying to achieve looks a bit like this:
I have a single service, hello-world
, with three instances, one on each node.
I would like, in this example, only node-1
and node-2
to participate in externalising the ingress
network. However, when I visit 10.0.0.3
, it still exposes port 80
and 443
as it still has to have the ingress
network on it to be able to run the container hello-world
, and I would like this not to be the case.
In essence, I'd like to be able to run containers for a service that hosts port 80
& 443
on 10.0.0.3
without being to access it by visiting 10.0.0.3
in a web browser. Is there any way to configure this? Even if there's no container running on the node, it'll still forward traffic to a container that is running.
Thank you!