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

Adds support for adding VMs into a load balancer's backend pool #182

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ciaranj
Copy link

@ciaranj ciaranj commented Feb 21, 2020

This is a re-working of @gpolek 's work in #61 but;

  • Updated to work against the latest master and dev.
  • Removed the availability set code as that appears to be already present.
  • Added the ability to specify a resource group that the load balancer is within that differs from the resource group the agent VMs are within.

I needed the possibility of ensuring all my Jenkins agents use known IP address for outbound connection, for example, to whitelist them on a remote environment. Azure allows it by using Source Network Address Translation feature on Azure load balancer.

More on this topic can be found in Azure's docs https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/load-balancer/load-balancer-outbound-connections.md#load-balanced-vm-with-no-instance-level-public-ip-address.

This pull request allows putting azure vm agents into load balancer's backend pool of your choice. I've added also availability set support to ensure all my agents will stay alive when Azure does maintenance.

ciaranj added 2 commits February 21, 2020 22:06
…d pool

Based heavily on work by @gpolek (jenkinsci#61)

Allows the specification of a load balancer & backend (that can optionally be
in a different resource group to that in which the Agent VMs get spun up)

This is (as mentioned in the original pull request) highly useful for scenarios
where you need to whitelist the traffic coming from your pool of VMs.

This is a pre-requisite for support AAD logins to the jenkins agents too on
environments where Conditional Access Policies use named location constraints.
@ciaranj ciaranj changed the title Dev availability set and backend pool Adds support for adding VMs into a load balancer's backend pool Feb 21, 2020
@timja
Copy link
Member

timja commented Mar 29, 2021

needs conflicts resolved

@timja
Copy link
Member

timja commented Apr 4, 2021

I think this might be a simpler approach:
#221

@ciaranj
Copy link
Author

ciaranj commented Apr 4, 2021

I think this might be a simpler approach:
#221

From what I recall of this work, the approach was needed because the load balancer was required to support outbound traffic from VMs with no public IP at all, so #221 feels (again from what I recall) like a subtly different solution to a very similar issue.

@timja
Copy link
Member

timja commented Apr 4, 2021

ah right sure makes sense 👍, the other approach is a UDR on the subnet, (which is what I use)

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

Successfully merging this pull request may close these issues.

2 participants