Title: feat(gce): add regional MIG support for multi-AZ instance groups - #18434
Title: feat(gce): add regional MIG support for multi-AZ instance groups#18434wasimat404 wants to merge 1 commit into
Conversation
|
|
|
Welcome @wasimat404! |
|
Hi @wasimat404. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/check-cla |
Add support for GCE Regional Managed Instance Groups, allowing a single autoscaling InstanceGroup to span multiple zones natively instead of splitting across per-zone zonal MIGs. Changes: - Add RegionInstanceGroupManagerClient interface and implementation to the GCE compute client - Add RegionInstanceGroupManager task with GCE API and Terraform rendering (google_compute_region_instance_group_manager) - Add mock client for testing - Add GCERegionalMIG feature flag (default: false) for backwards compatibility with existing zonal MIG clusters - Refactor AutoscalingGroupModelBuilder.Build() to create a single regional MIG with distribution_policy_zones when flag is enabled - Add NameForRegionInstanceGroupManager naming helper Resolves: kubernetes#18411
c993469 to
780fc90
Compare
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Fixes #18411
tl;dr
There's been a TODO in
AutoscalingGroupModelBuildersince 2017 about switching to Regional MIGs instead of splitting one InstanceGroup into separate per-zone zonal MIGs. The two blockers (no Terraform support, no zone steering) are both resolved now, so this PR does the thing.what's in here
RegionInstanceGroupManagertask — handles GCE API calls + renders asgoogle_compute_region_instance_group_managerin Terraform withdistribution_policy_zonesRegionInstanceGroupManagerClientin the compute client layer + mock for testsBuild()refactored — whenGCERegionalMIGfeature flag is on, creates one regional MIG spanning all zones instead of N zonal MIGsnot breaking anything
Whole thing is behind
KOPS_FEATURE_FLAGS=GCERegionalMIG. Flag off = old behavior, zero migration needed.still todo