Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This documents gives an overview to the design and functional implementation for Internal Load Balancing on VPC tiers.

Feature developer - Alena Prokharchykdevelopers:

  • APIs and Orchestration level - Alena Prokharchyk
  • Backend - to be assigned

Use case

There - there are 2 tiers in the VPC - Web tier A and Application tier B. Traffic to Web tier is balanced on the VPC VR on the public side. Admin wants traffic coming from LB to App tier to be balanced as well. Load balancing on the APP tier will be covered by the Internal LB feature.

The general flow

Internal LB gets created on - internal LB has to be created for the tier B. Access from tier A to tier B can be managed by Network ACLs.

Create tier B using network offering with Service=Lb, Provider=InteralLBVm

Acquire The guest IP address from the tier B is implicitly acquired and new system vm - the vm type is Internal LB - is created with this IP address. 

Create Internal Load Balan

API and orchestration level

...

  •  assignToLBRule
  •  removeFromLBRuleAs we are going to support LB on the public side on the VPC with the VPC VR as a provider, so we need a separate service/provider to support internal LB on the VPC - InternalLb service and InternalLb provider. Have to define these providers in the VPC offering as well as on the Network offering.

DB

New tables

TBD

Upgrade 

Either have : whether have to upgrade existing default VPC/Network offering with the new Service/ Provider for LB service, or create a new default one having Internal LB service/ provider in place.

Backend

1. Create Load Balancer rule. The system vm with the Internal LB type will start automatically. The vm will have guest IP acquired from the App tier.

2. Create LB rule in haproxy.cfg with acquired IP and selected Vms is tier B

...

TBD by the backend engineer

Limitations

  • Internal and Public Lb are mutually exclusive on a tier. If the tier has LB on the public side, then it can't have the Internal LB

UI

TBD