Hi,
I am setup a trino cluster with swarm for testing.
I have one coordinator and two workers. The coordinator is deployed on the swarm manager and the workers on one worker node.
I have problem when I expose the UI port of the coordinator, when I expose the port the woekers are not able to communicate with the coordinator.
The coordinator has the following ips assigned:
"VirtualIPs": [
{
"NetworkID": "lvzgx0dgsat5cf1r51qi3ezzs",
"Addr": "10.0.0.20/24"
},
{
"NetworkID": "nrgfqlu1kfhl42ih4zfvjg6rd",
"Addr": "10.0.6.10/24"
}
]
But the trino cluster see these ips for manager and workers:
coordinator 10.0.0.21
worker-1 10.0.6.7
worker-2 10.0.6.9
If I do not expose the port of the coordinator I the coordinato use only the ip in the subnet “10.0.6.0/24” and it works, but how can I expose that port?
My compose is defined in this way:
version: '3.9'
services:
trino-coordinator:
image: trinodb/trino:382
hostname: trino-coordinator
ports:
- 7070:8080
volumes:
- ./stack/coordinator/etc:/etc/trino
- ./stack/catalog/:/etc/trino/catalog
- /nfs/data/trino/stack/spiller/coordinator:/spiller
- ./hosts:/etc/hosts
deploy:
placement:
constraints: [node.role == manager]
networks:
production-net-swarm:
trino-worker-1:
image: trinodb/trino:382
hostname: trino-worker-1
volumes:
- ./stack/worker-1/etc:/etc/trino
- ./stack/catalog/:/etc/trino/catalog
- /nfs/data/trino/stack/spiller/worker-1:/spiller
- ./hosts:/etc/hosts
deploy:
placement:
constraints: [node.role == worker]
networks:
production-net-swarm:
trino-worker-2:
image: trinodb/trino:382
hostname: trino-worker-2
volumes:
- ./stack/worker-2/etc:/etc/trino
- ./stack/catalog/:/etc/trino/catalog
- /nfs/data/trino/stack/spiller/worker-2:/spiller
- ./hosts:/etc/hosts
deploy:
placement:
constraints: [node.role == worker]
networks:
production-net-swarm:
networks:
production-net-swarm:
driver: overlay
external: true