kubernetes/kops · error

creating clientset: %w

Error message

creating clientset: %w

What it means

Constructing the typed kubernetes.Clientset inside DumpResources failed from the same rest.Config the dynamic client already accepted; a defect in the config that only the typed client rejects (auth or TLS data).

Source

Thrown at pkg/dump/resourcedumper.go:100

	k8sConfig.QPS = 50
	k8sConfig.Burst = 100
	dynamicClient, err := dynamic.NewForConfig(k8sConfig)
	if err != nil {
		return nil, fmt.Errorf("creating dynamic client: %w", err)
	}
	return &resourceDumper{
		k8sConfig:     k8sConfig,
		dynamicClient: dynamicClient,
		output:        output,
		artifactsDir:  artifactsDir,
	}, nil
}

func (d *resourceDumper) DumpResources(ctx context.Context) error {
	klog.Info("Dumping k8s resources")
	clientSet, err := kubernetes.NewForConfig(d.k8sConfig)
	if err != nil {
		return fmt.Errorf("creating clientset: %w", err)
	}

	namespaces, err := clientSet.CoreV1().Namespaces().List(ctx, metav1.ListOptions{})
	if err != nil {
		return fmt.Errorf("listing namespaces: %w", err)
	}

	discoveryClient, err := discovery.NewDiscoveryClientForConfig(d.k8sConfig)
	if err != nil {
		return fmt.Errorf("creating discovery client: %w", err)
	}

	resourceLists, err := discoveryClient.ServerPreferredResources()
	var discoveryErr *discovery.ErrGroupDiscoveryFailed
	if errors.As(err, &discoveryErr) {
		klog.Warningf("using incomplete list of API groups: %v", discoveryErr)
	} else if err != nil {
		return fmt.Errorf("listing server preferred resources: %w", err)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Regenerate kubeconfig
  2. Check client certificate/token expiry
  3. Verify API server reachability
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at pkg/dump/resourcedumper.go:100 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/b1ecd1123e3c22ad. Report an issue: GitHub.