Skip to content
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
Closed

Comments

@kylelemons
Copy link

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
Copy link
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
Copy link
Author

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
Copy link
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
Copy link
Contributor

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

@sramak1396c
Copy link

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
Copy link
Contributor

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
Copy link

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.51.almailto: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
Copy link
Contributor

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
Copy link

Thanks Alex. Will let you know how it goes.
On Apr 23, 2015, at 11:28 PM, Alex Robinson <notifications@github.51.almailto: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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants