kubernetes/kops · error

error building kube-controller-manager pod: %v

Error message

error building kube-controller-manager pod: %v

What it means

The kube-controller-manager builder wraps buildPod failure here. buildPod assembles the static pod spec (volumes, mounts, health checks, certificates); it fires when that assembly errors — e.g. a missing required file asset or invalid configuration — so no KCM manifest can be written for the node.

Source

Thrown at nodeup/pkg/model/kube_controller_manager.go:76

	// Include the CA Key
	// @TODO: use a per-machine key?  use KMS?
	if err := b.BuildCertificatePairTask(c, fi.CertificateIDCA, pathSrvKCM, "ca", nil, nil); err != nil {
		return err
	}

	if err := b.BuildPrivateKeyTask(c, "service-account", pathSrvKCM, "service-account", nil, nil); err != nil {
		return err
	}
	kcm.ServiceAccountPrivateKeyFile = filepath.Join(pathSrvKCM, "service-account.key")

	if err := b.writeServerCertificate(c, &kcm); err != nil {
		return err
	}

	{
		pod, err := b.buildPod(&kcm)
		if err != nil {
			return fmt.Errorf("error building kube-controller-manager pod: %v", err)
		}

		manifest, err := k8scodecs.ToVersionedYaml(pod)
		if err != nil {
			return fmt.Errorf("error marshaling pod to yaml: %v", err)
		}

		c.AddTask(&nodetasks.File{
			Path:     "/etc/kubernetes/manifests/kube-controller-manager.manifest",
			Contents: fi.NewBytesResource(manifest),
			Type:     nodetasks.FileType_File,
		})
	}

	{
		c.AddTask(&nodetasks.File{
			Path:        "/var/log/kube-controller-manager.log",
			Contents:    fi.NewStringResource(""),

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check kubeControllerManager settings in the spec
  2. Inspect nodeup logs for the underlying error
  3. Re-run nodeup
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at nodeup/pkg/model/kube_controller_manager.go:76 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/886d8d14403f1a35. Report an issue: GitHub.