kubernetes/kops · error

InstanceGroup not set on etcd %s/%s

Error message

InstanceGroup not set on etcd %s/%s

What it means

MasterVolumeBuilder.Build creates an EBS volume per etcd member and needs each member's InstanceGroup to resolve its settings; this fires when etcdClusters[].members[].instanceGroup is nil/empty in the cluster spec.

Source

Thrown at pkg/model/master_volumes.go:75

// MasterVolumeBuilder builds master EBS volumes
type MasterVolumeBuilder struct {
	*KopsModelContext
	Lifecycle fi.Lifecycle
}

var _ fi.CloudupModelBuilder = &MasterVolumeBuilder{}

func (b *MasterVolumeBuilder) Build(c *fi.CloudupModelBuilderContext) error {
	for _, etcd := range b.Cluster.Spec.EtcdClusters {
		for _, m := range etcd.Members {
			// 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]

View on GitHub (pinned to 4c8573c808)

Solutions

  1. `kops edit cluster` and set instanceGroup on every etcd cluster member, pointing at the master InstanceGroup that hosts it
  2. After fixing, run `kops update cluster` and re-apply
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/model/master_volumes.go:75 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/c8a141972e8e805c. Report an issue: GitHub.