[Fixed] Problem Publishing public LoadBalancer Port on host

Hi,

I have a stack with several internal load balancer which works perfectly.
I wanted to add another public Loadbalancer in order to access my application from Internet but I don’t manage to contact the LB from the hosts.

this is the configuration from
rancher-compose.yml :

load:
  load_balancer_config: {}

docker-compose.yml:

load:
  ports:
  - 80:8090
  restart: always
  labels:
    io.rancher.scheduler.global: 'true'
    io.rancher.loadbalancer.target.service1: service1.mydomain.com=8080
    io.rancher.loadbalancer.target.service2: service2.mydomain.com.com=8090
    io.rancher.loadbalancer.target.service3: service3.mydomain.com=8080
  tty: true
  image: rancher/load-balancer-service
  links:
  - service1
  - service2
  - service3
  stdin_open: true

I am able to reach my 3 services calling the lb on his internal ip :
telnet 10.42.14.172 80 ==> this works :smile:

but on the hosts
telnet localhost 80 ==> this not works :frowning:

it seams that the iptable rules have been setup correctly

iptables-save
-A CATTLE_PREROUTING -p tcp -m addrtype --dst-type LOCAL -m tcp --dport 80 -j DNAT --to-destination 10.42.14.172:80

I can’t figure how to publish it on my host (so publishing on internet)

thanks for helo

sebastien

I’m using Rancher with :
v0.43.1
Cattle
v0.106.0
User Interface
v0.63.0
Rancher Compose
v0.5.0

It sounds like you’re hitting this issue.

@denise,

Thanks I think you’re right, i can telnet to the ip:port from another Host

Thanks in fact that’s just all I wanted

sebastien