kubernetes/kops · error

no zones found for instance group %q

Error message

no zones found for instance group %q

What it means

No zones could be resolved for the instance group when splitting its capacity across zones; the group's subnet/zone references yield an empty zone list.

Source

Thrown at pkg/model/gcemodel/autoscalinggroup.go:275

			})
		}

		return t, nil
	}
}

func (b *AutoscalingGroupModelBuilder) splitToZones(ig *kops.InstanceGroup) (map[string]int, error) {
	// Indented to keep diff manageable
	// TODO: Remove spurious indent
	{
		// AutoscalingGroup
		zones, err := b.FindZonesForInstanceGroup(ig)
		if err != nil {
			return nil, err
		}

		if len(zones) == 0 {
			return nil, fmt.Errorf("no zones found for instance group %q", ig.ObjectMeta.Name)
		}

		// TODO: Duplicated from aws - move to defaults?
		minSize := 1
		if ig.Spec.MinSize != nil {
			minSize = int(fi.ValueOf(ig.Spec.MinSize))
		} else if ig.Spec.Role.HasNode() {
			minSize = 2
		}

		// We have to assign instances to the various zones
		// TODO: Switch to regional managed instance group
		// But we can't yet use RegionInstanceGroups:
		// 1) no support in terraform
		// 2) we can't steer to specific zones AFAICT, only to all zones in the region

		return SplitCountAcrossZones(minSize, zones), nil
	}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the instance group's subnets/zone assignment in the cluster spec
  2. Ensure the referenced subnets exist and define zones
  3. Re-run kops update
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/model/gcemodel/autoscalinggroup.go:275 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/3d1a7561d50dc52d. Report an issue: GitHub.