Sitelet https://github.com/kubernetes/kops/pull/18543
Skip to content

gce: register all zonal MIGs of a multi-zone instance group with cluster-autoscaler - #18543

Merged
kubernetes-prow[bot] merged 3 commits into
kubernetes:masterfrom
hakman:gce-cas-multizone-migs
Jul 7, 2026
Merged

kubernetes-prow[bot] merged 3 commits into
kubernetes:masterfrom
hakman:gce-cas-multizone-migs

Conversation

@hakman

@hakman hakman commented Jul 6, 2026

Copy link
Copy Markdown
Member

For a GCE instance group spanning multiple zones, kOps creates one zonal InstanceGroupManager per zone, but only registered the first zone's MIG with cluster-autoscaler, carrying the full min/max of the instance group. The MIGs in the remaining zones were invisible to the autoscaler and were never scaled, so scale-ups could get stuck in a single zone (for example when that zone has no spot capacity).

Register each zonal MIG as its own cluster-autoscaler node group, splitting the instance group's min/max sizes across zones with the same algorithm used for the MIG target sizes. Single-zone instance groups render exactly as before.

/cc @rifelpet @ameukam
CC @0xhaven

hakman added 3 commits July 6, 2026 09:40
The nodes instance group in this scenario spans two zones, so kOps creates
two zonal InstanceGroupManagers, but only the first zone's MIG is registered
with cluster-autoscaler. The expected output captures this current behavior.
…ter-autoscaler

For a GCE instance group spanning multiple zones, kOps creates one zonal
InstanceGroupManager per zone, but only registered the first zone's MIG
with cluster-autoscaler, carrying the full min/max of the instance group.
The MIGs in the remaining zones were invisible to the autoscaler and were
never scaled, so scale-ups could get stuck in a single zone (for example
when that zone has no spot capacity).

Register each zonal MIG as its own cluster-autoscaler node group, splitting
the instance group's min/max sizes across zones with the same algorithm
used for the MIG target sizes. Single-zone instance groups render exactly
as before.
@kubernetes-prow
kubernetes-prow Bot requested review from ameukam and rifelpet July 6, 2026 10:44
@kubernetes-prow kubernetes-prow Bot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. area/provider/gcp Issues or PRs related to gcp provider labels Jul 6, 2026
@ameukam

ameukam commented Jul 6, 2026

Copy link
Copy Markdown
Member

/lgtm

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 6, 2026
@hakman

hakman commented Jul 7, 2026

Copy link
Copy Markdown
Member Author

/approve

@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 7, 2026
@kubernetes-prow
kubernetes-prow Bot merged commit 618fff7 into kubernetes:master Jul 7, 2026
27 checks passed
kubernetes-prow Bot added a commit that referenced this pull request Jul 7, 2026
…-upstream-release-1.36

Automated cherry pick of #18543: gce: register all zonal MIGs of a multi-zone instance group with cluster-autoscaler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/provider/gcp Issues or PRs related to gcp provider cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants