kubernetes/kops · error
found multiple instance groups matching servergrp %q
Error message
found multiple instance groups matching servergrp %q
What it means
While mapping a cloud server group name to kops InstanceGroups, more than one InstanceGroup produced the same expected group name (clusterName + instancegroup name) for the given servergrp. The mapping is expected to be unique; duplicates make it impossible to decide which InstanceGroup the instances belong to, usually caused by two InstanceGroups with the same ObjectMeta.Name or conflicting roles.
Source
Thrown at upup/pkg/fi/cloudup/do/cloud.go:503
// matchInstanceGroup filters a list of instancegroups for recognized cloud groups
func matchInstanceGroup(name string, clusterName string, instancegroups []*kops.InstanceGroup) (*kops.InstanceGroup, error) {
var instancegroup *kops.InstanceGroup
for _, g := range instancegroups {
var groupName string
switch {
case g.Spec.Role.HasControlPlane(),
g.Spec.Role.HasNode():
groupName = clusterName + "-" + g.ObjectMeta.Name
default:
klog.Warningf("Ignoring InstanceGroup of unknown role %q", g.Spec.Role)
continue
}
if name == groupName {
if instancegroup != nil {
return nil, fmt.Errorf("found multiple instance groups matching servergrp %q", groupName)
}
instancegroup = g
}
}
return instancegroup, nil
}
func buildCloudInstanceGroup(c *doCloudImplementation, ig *kops.InstanceGroup, g DOInstanceGroup, nodeMap map[string]*v1.Node) (*cloudinstances.CloudInstanceGroup, error) {
cg := &cloudinstances.CloudInstanceGroup{
HumanName: g.InstanceGroupName,
InstanceGroup: ig,
Raw: g,
MinSize: int(fi.ValueOf(ig.Spec.MinSize)),
TargetSize: int(fi.ValueOf(ig.Spec.MinSize)),
MaxSize: int(fi.ValueOf(ig.Spec.MaxSize)),
}
View on GitHub (pinned to 4c8573c808)
Solutions
- List the cluster's InstanceGroups and find the duplicate name
- Rename or delete the redundant InstanceGroup so group names are unique
- Re-run the cloud group discovery afterwards
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/do/cloud.go:503 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/23ea99cd59edd83d.
Report an issue: GitHub.