kubernetes/kops · error
must specify a zone for instancegroup %q used by etcd %s/%s
Error message
must specify a zone for instancegroup %q used by etcd %s/%s
What it means
Raised during cloudup model build when the instance group backing an etcd cluster member resolves to zero zones. FindZonesForInstanceGroup inspects the cluster spec's subnets for the IG and etcd members require a concrete zone to place their persistent volume, so an IG with no matching subnets cannot be used for etcd.
Source
Thrown at pkg/model/master_volumes.go:87
// EBS volume for each member of each etcd cluster
prefix := m.Name + ".etcd-" + etcd.Name
name := prefix + "." + b.ClusterName()
igName := fi.ValueOf(m.InstanceGroup)
if igName == "" {
return fmt.Errorf("InstanceGroup not set on etcd %s/%s", m.Name, etcd.Name)
}
ig := b.FindInstanceGroup(igName)
if ig == nil {
return fmt.Errorf("InstanceGroup not found (for etcd %s/%s): %q", m.Name, etcd.Name, igName)
}
zones, err := model.FindZonesForInstanceGroup(b.Cluster, ig)
if err != nil {
return err
}
if len(zones) == 0 {
return fmt.Errorf("must specify a zone for instancegroup %q used by etcd %s/%s", igName, m.Name, etcd.Name)
}
if len(zones) != 1 {
return fmt.Errorf("must specify a unique zone for instancegroup %q used by etcd %s/%s", igName, m.Name, etcd.Name)
}
zone := zones[0]
volumeSize := fi.ValueOf(m.VolumeSize)
if volumeSize == 0 {
volumeSize = DefaultEtcdVolumeSize
}
var allMembers []string
for _, m := range etcd.Members {
allMembers = append(allMembers, m.Name)
}
sort.Strings(allMembers)
switch b.Cluster.GetCloudProvider() {View on GitHub (pinned to 4c8573c808)
Solutions
- Add subnets to the instance group (or cluster spec) whose zones cover the etcd members
- Ensure the etcd instance group is listed in spec.etcdClusters[*].members[*].instanceGroup and has zones assigned
- Run `kops edit cluster` and verify the etcd members' instance groups map to subnets with zones
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/model/master_volumes.go:87 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/6dfdedad15e6bd5e.
Report an issue: GitHub.