-
Notifications
You must be signed in to change notification settings - Fork 280
Description
/kind feature
Describe the solution you'd like
Today although the OpenStack cluster supports a multi-availability-zone deployment, the APIServer Load Balancer is only pinned to a single AZ. If this AZ goes down, even though the compute is multi-AZ, the cluster would still fail which defeats the purpose of the multiple availability zones.
Octavia does not support multi-availability-zone Load Balancers, so I instead propose allowing users to create one Load Balancer per AZ. In addition to this, the Load Balancers should have a setting to allow registering the Control Plane Machines to only the Load Balancer within their AZ (ensuring AZ local traffic), or to all the Load Balancers (where a Load Balancer in AZ1 could forward traffic to Load Balancer in AZ2 or 3).
In the case where a single AZ is given, the logic does not change from today. However in the case where there are multiple AZs given, then we make an assumption that the order in which the AZs are listed and the order in which the Subnets are listed in the APIServerLoadBalancer match and then we create a mapping of LB to Subnet.
Anything else you would like to add:
I have a draft version of this working, happy to contribute and get feedback
Metadata
Metadata
Assignees
Labels
Type
Projects
Status