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

Add support for AWS ALB Load Balancers #1150

Closed
robzienert opened this issue Sep 14, 2016 · 9 comments
Closed

Add support for AWS ALB Load Balancers #1150

robzienert opened this issue Sep 14, 2016 · 9 comments

Comments

@robzienert
Copy link
Member

We're starting to explore the use of ALBs within my company and would like Spinnaker to support this as a Load Balancer option.

When adding a new Load Balancer in AWS, it'd be nice to have a radio of either ELB or ALB, which would change the following configuration sections. Alternatively, depending on how much implementation we'd hide from the end-user, perhaps we'd just expose HTTP/2 and Websockets (for example) as new options, Level 7 configs, etc and then under the covers choose for the user which one to use.

I presume this would primarily only affect Deck and Clouddriver, yes?

@robzienert robzienert changed the title Add support for AWS ALB loadbalancers Add support for AWS ALB Load Balancers Sep 14, 2016
@cfieber
Copy link
Contributor

cfieber commented Sep 14, 2016

There's some preliminary support in there now for ALBs - namely:

  1. during a deploy, if you add the name of an ALB in the loadBalancers list, the new server group will get attached to all the target groups associated with that ALB
  2. target group health is indexed and associated with a server group's instances, so instances have to pass targetgroup health checks before a deploy stage will consider them healthy and proceed
  3. if a server group is associated with an ALB and is cloned, the new server group will also be associated with the ALB
  4. if a server group is enabled or disabled, its instances are associated/removed from ALBs

Definitely much more to do, but it is enough to start using ALBs with the CRUD of them still having to happen via the AWS console

@robzienert
Copy link
Member Author

Oh, delightful. We setup loadbalancers via Terraform right now anyway, so this sounds like it would fit our usecases perfectly for the timebeing.

@cterrykenzan
Copy link

Is there any additional configuration that needs to be done in order to use ALBs? Or do they have to be created a certain way to be picked up by Spinnaker?

When I add the ALB to the pipeline's JSON and execute, I get an Exception "Provided Load Balancers may not be valid. Please ensure they exist and try again. (Service: AmazonAutoScaling; Status Code: 400; Error Code: ValidationError; Request ID: )"

@KristianOellegaard
Copy link

I just had to add it to the pipeline JSON but unfortunately it adds the instance to all target groups associated with the load balancer, effectively making it fairly useless for us, because we want to use ALB for internal apps that do not need a dedicated load balancer so that we could mount different apps on different endpoints.

@robertsigler
Copy link

robertsigler commented Mar 22, 2017

Just linking this PR so that it is visible from this issue. I came to this issue to check on it and didn't realize there is a potential PR being worked on.

spinnaker/clouddriver#1457

@jrsquared
Copy link

Clouddriver support for ALBs should be in from spinnaker/clouddriver#1457. I will work on support in Deck in the coming weeks.

@torarvid
Copy link

Hi, is there any update on this issue?

@JJediny
Copy link

JJediny commented Jul 22, 2017

@jrsquared is this closed? spinnaker/clouddriver#1457

@cristim
Copy link

cristim commented Aug 1, 2017

spinnaker/clouddriver#1457 is merged, so I think this can be closed now.

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

No branches or pull requests

10 participants