pwFoo
July 15, 2015, 6:14pm
1
https://github.com/rancher/rancher/issues/1042
I read the last update at the issue #1042 . Is it possible to use it as hostname based router / frontside proxy? I need a proxy for exposed http/s ports.
http(s)://domain1.com -> container “web1” port 80 / 443
http(s)://domain2.com -> container “web2” port 80 / 443
Yes, that’s what it’s for. You can map hostnames (the Host header) and/or the request path (domain.com/thing1
vs domain.com/thing2
) to different containers.
https://
support is not in yet, that will be in the next couple weeks. It will do SSL termination so you would configure the cert(s) to use on the load balancer, rather than having to get them in every web container. The request would then be routed to the approriate web{1,2}
over port 80 (in an encrypted IPSec tunnel if crossing hosts).
pwFoo
July 15, 2015, 6:48pm
3
Hi vincent,
is there an example config?
How to map a domain / path to a container?
During load balancer creation I can choose targets (container), but how to set the domain / path for mapping?
I have installed RancherOS 0.3.3 and latest server / agent. Anything else to update to get this new feature?
It is currently only in the v0.27.0-rcX
tags. latest
is v0.25.X
but should be moved to a new v0.27.0
tag later today. You’ll see it:
1 Like
Actually, to be clear, we will most likely tag this week’s release to 0.28.0
pwFoo
July 15, 2015, 7:08pm
6
Thanks, @vincent and @willchan !
I’ll test it
This seems not as flexible as the previous LB configuration, for example I have a containers that run multiple ports for different services (note: this is not a HTTP application).
Previously I would configure my LB like such:
SERVICESLB:
ports:
- '2525:25/tcp'
- '1143:143/tcp'
- '1995:993/tcp'
- '1993:993/tcp'
tty: true
image: rancher/load-balancer-service
links:
- SERVICESPROXY016:SERVICESPROXY016
That worked well…
Am I correct in assuming I now need to configure multiple LBs to continue this patten?
Thanks
denise
July 16, 2015, 6:37pm
8
v0.28.0 has been tagged to latest and has hostname based routing.
1 Like
denise
July 16, 2015, 6:38pm
9
@noeleon The changes related to hostname based routing are optional fields to extend current capabilities in load balancers.
Your configuration will not have to change and will continue to work as expected.
The existing yml should be backwards compatible, to get the new features there are new labels: http://docs.rancher.com/rancher/rancher-compose/#load-balancer
Phew… That’s good to know! Thanks
I’ve been struggling with these changes, actually no it doesn’t seem to work the way it did before…
my config:
LB:
ports:
- 1110:110/tcp
- 1143:143/tcp
tty: true
image: rancher/load-balancer-service
links:
- proxy:proxy
stdin_open: true
labels:
- "io.rancher.scheduler.affinity:host_label=lb=true"
on v0.25.0 this would sent traffic from my hosts on port host:1110 -> container:110, host:1143 -> container:143 on the ‘proxy’ service.
Now on 0.28.0 it’s reporting
ERRO[0000] Failed to start: LB : Failed to find target ports for proxy, add label io.rancher.loadbalancer.target.proxy
so when I add the target label(s)? it doesn’t map the services correctly:
“io.rancher.loadbalancer.target.proxy=143”
“io.rancher.loadbalancer.target.proxy=110”
–this should be imap:
telnet 172.17.8.100 1143
Trying 172.17.8.100…
Connected to 172.17.8.100.
Escape character is ‘^]’.
+OK aee77c32ec44 pop3 Ready
this should be pop3:
telnet 172.17.8.100 1110
Trying 172.17.8.100…
Connected to 172.17.8.100.
Escape character is ‘^]’.
+OK aee77c32ec44 pop3 Ready
I tried playing with the dns aliases but ended up nowhere - no containers get associated to the LB and noting happens.
The example http://docs.rancher.com/rancher/rancher-compose/#load-balancer seems incomplete also, there are no linked services in the LB.
any help would be much appreciated at this stage.
alena
July 21, 2015, 12:30am
13
@noeleon
thanks for testing the feature.
based on yours and other users’ feedback, we are going to add backward compatibility to support previous syntax for defining load balancer rules to the next release
denise
July 28, 2015, 12:07am
14
@noeleon , Our current release has the previous syntax supported for load balancers.
But you should convert to the new syntax when possible it supports more than the old one: http://docs.rancher.com/rancher/rancher-compose/rancher-services/#load-balancer
Thank you - 0.30.0 + new syntax is again working for me.
Much appreciated. thanks @vincent @denise