New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: honor publicIPs along with createExternalLoadBalancer #6452

Closed
kylelemons opened this Issue Apr 5, 2015 · 9 comments

Comments

Projects
None yet
6 participants
@kylelemons

kylelemons commented Apr 5, 2015

This may be already covered by the v1beta3 changes, #1161, or #1107, but I wanted to register my request in case it wasn't.

Caveat: My exposure, at the moment, is purely via GKE:

Client Version: version.Info{Major:"0", Minor:"13+", GitVersion:"v0.13.1-1-ga68dc88831fc5d", GitCommit:"a68dc88831fc5da80a7dd5a79e0f4097b6a58920", GitTreeState:"clean"}
Server Version: version.Info{Major:"0", Minor:"13+", GitVersion:"v0.13.2-1-g58b98aca84becd", GitCommit:"58b98aca84becdabbfc8d719c47b375a6a1bc855", GitTreeState:"clean"}

I have a desire to maintain a single external IP address. This seems simplest; I can use the same DNS name as I have in my SSL certificate for all of the services I'm running. So, to that end, I requested a static IP address in GCE and have manually created the low-level loadbalancer for it and specified the static IP in my publicIPs list (without createExternalLoadBalancer) for the services I want externalized. This works, but it required a lot of tinkering with firewalls and target pools and experimentation with the createExternalLoadBalancer flag before I figured out the right combination. The first thing I tried was this:

id: frontend
kind: Service
apiVersion: v1beta1
selector:
  app: frontend
labels:
  app: frontend
containerPort: 80
port: 80
createExternalLoadBalancer: true
publicIPs:
- 330.201.152.515

If it would be possible for that to be a valid input that would cause the GCE/GKE provider to create the right firewall, target pools, and load balancer (bonus points if it made one that was shared among all services with the same external IP), it might save some time for future intrepid explorers.

@thockin

This comment has been minimized.

Member

thockin commented Apr 6, 2015

I'm not sure I quite understand - you want to join an existing load
balancer with a static IP? Or you just want to use teh static IP for a new
load balancer (and fail if that IP is in-use already)?

It sounds like what you want is an L7 router, not an L3 load balancer that
we currently have.

On Sun, Apr 5, 2015 at 11:55 AM, Kyle Lemons notifications@github.com
wrote:

This may be already covered by the v1beta3 changes, #1161
#1161, or #1107
#1107, but I
wanted to register my request in case it wasn't.

Caveat: My exposure, at the moment, is purely via GKE:

Client Version: version.Info{Major:"0", Minor:"13+", GitVersion:"v0.13.1-1-ga68dc88831fc5d", GitCommit:"a68dc88831fc5da80a7dd5a79e0f4097b6a58920", GitTreeState:"clean"}
Server Version: version.Info{Major:"0", Minor:"13+", GitVersion:"v0.13.2-1-g58b98aca84becd", GitCommit:"58b98aca84becdabbfc8d719c47b375a6a1bc855", GitTreeState:"clean"}

I have a desire to maintain a single external IP address. This seems
simplest; I can use the same DNS name as I have in my SSL certificate for
all of the services I'm running. So, to that end, I requested a static IP
address in GCE and have manually created the low-level loadbalancer for it
and specified the static IP in my publicIPs list (without
createExternalLoadBalancer) for the services I want externalized. This
works, but it required a lot of tinkering with firewalls and target pools
and experimentation with the createExternalLoadBalancer flag before I
figured out the right combination. The first thing I tried was this:

id: frontendkind: ServiceapiVersion: v1beta1selector:
app: frontendlabels:
app: frontendcontainerPort: 80port: 80createExternalLoadBalancer: truepublicIPs:- 330.201.152.515

If it would be possible for that to be a valid input that would cause the
GCE/GKE provider to create the right firewall, target pools, and load
balancer (bonus points if it made one that was shared among all services
with the same external IP), it might save some time for future intrepid
explorers.


Reply to this email directly or view it on GitHub
#6452.

@kylelemons

This comment has been minimized.

kylelemons commented Apr 8, 2015

In GCE, you can set up multiple load-balancers on the same IP address (though not the same port, obviously). I want to specify the IP address that will be used for creating the forwarding-rule, essentially.

@thockin

This comment has been minimized.

Member

thockin commented Apr 8, 2015

That should already work - I just scanned through the relevant code - if
you provide an IP, we'll try to use it for the forewarding rule.

On Tue, Apr 7, 2015 at 8:11 PM, Kyle Lemons notifications@github.com
wrote:

In GCE, you can set up multiple load-balancers on the same IP address
(though not the same port, obviously). I want to specify the IP address
that will be used for creating the forwarding-rule, essentially.


Reply to this email directly or view it on GitHub
#6452 (comment)
.

@fgrzadkowski

This comment has been minimized.

Member

fgrzadkowski commented Apr 8, 2015

I confirm this works. Phabricator example is doing exactly this.

@sramak1396c

This comment has been minimized.

sramak1396c commented Apr 24, 2015

I am trying to understand what are the options in Openstack? I tested with PublicIP's , works great , but obviously , has manual things that needs to be taken care of.

Appreciate any suggestions.

Thanks
Sriram

@a-robinson

This comment has been minimized.

Member

a-robinson commented Apr 24, 2015

What specifically are you looking for help with? createExternalLoadBalancer should work properly in openstack, although you may get hit by #7199, which was just fixed today.

@sramak1396c

This comment has been minimized.

sramak1396c commented Apr 24, 2015

My understanding was createExternalLB worked only with GCE, totally wrong!!

I guess Neutron LBaaS should be enabled to take advantage of cELB, do we need any other openstack projects besides neutron?

configuration or setup changes we need to be aware of?

Thanks
Sriram

On Apr 23, 2015, at 8:20 PM, Alex Robinson <notifications@github.commailto:notifications@github.com> wrote:

What specifically are you looking for help with? createExternalLoadBalancer should work properly in openstack, although you may get hit by #7199#7199, which was just fixed today.


Reply to this email directly or view it on GitHubhttps://github.com//issues/6452#issuecomment-95760612.

@a-robinson

This comment has been minimized.

Member

a-robinson commented Apr 24, 2015

Not that I know of, but I haven't tried it myself. If you run into any issues with it, be sure to let us know!

@sramak1396c

This comment has been minimized.

sramak1396c commented Apr 24, 2015

Thanks Alex. Will let you know how it goes.
On Apr 23, 2015, at 11:28 PM, Alex Robinson <notifications@github.commailto:notifications@github.com> wrote:

Not that I know of, but I haven't tried it myself. If you run into any issues with it, be sure to let us know!


Reply to this email directly or view it on GitHubhttps://github.com//issues/6452#issuecomment-95788679.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment