kubernetes/kops · error

no InstanceGroup objects found

Error message

no InstanceGroup objects found

What it means

Guard in RunValidateCluster: the cluster exists but has zero InstanceGroup objects in the state store. There is nothing to validate node-wise, which usually means the cluster spec is incomplete or the wrong state store is being read.

Source

Thrown at cmd/kops/validate_cluster.go:162

	}

	list, err := clientSet.InstanceGroupsFor(cluster).List(ctx, metav1.ListOptions{})
	if err != nil {
		return nil, fmt.Errorf("cannot get InstanceGroups for %q: %v", cluster.ObjectMeta.Name, err)
	}

	if options.output == OutputTable {
		fmt.Fprintf(out, "Validating cluster %v\n\n", cluster.ObjectMeta.Name)
	}

	var instanceGroups []kopsapi.InstanceGroup
	for _, ig := range list.Items {
		instanceGroups = append(instanceGroups, ig)
		klog.V(2).Infof("instance group: %#v\n\n", ig.Spec)
	}

	if len(instanceGroups) == 0 {
		return nil, fmt.Errorf("no InstanceGroup objects found")
	}

	restConfig, err := f.RESTConfig(ctx, cluster, options.CreateKubecfgOptions)
	if err != nil {
		return nil, fmt.Errorf("getting rest config: %w", err)
	}

	httpClient, err := f.HTTPClient(restConfig)
	if err != nil {
		return nil, fmt.Errorf("getting http client: %w", err)
	}

	k8sClient, err := kubernetes.NewForConfigAndClient(restConfig, httpClient)
	if err != nil {
		return nil, fmt.Errorf("building kubernetes client: %w", err)
	}

	timeout := time.Now().Add(options.wait)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Run kops create instancegroup to add groups
  2. Check KOPS_STATE_STORE points to the right bucket
  3. Re-create the cluster spec with kops create cluster
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at cmd/kops/validate_cluster.go:162 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/1c8be1b40456430b. Report an issue: GitHub.