kubernetes/kops · error

unable to find runc version

Error message

unable to find runc version

What it means

Fires when no canonical runc download URL could be derived: neither arch-specific packages URLs (UrlAmd64/UrlArm64 with hashes) were set in containerd.runc.packages, nor was a containerd.runc.version string present to construct a URL from. FindRuncAsset cannot fetch the runc binary asset for the instance group's architecture.

Source

Thrown at pkg/nodemodel/wellknownassets/runc.go:63

	canonicalURL := ""
	knownHash := ""

	if runc.Packages != nil {
		if arch == architectures.ArchitectureAmd64 && runc.Packages.UrlAmd64 != nil && runc.Packages.HashAmd64 != nil {
			canonicalURL = fi.ValueOf(runc.Packages.UrlAmd64)
			knownHash = fi.ValueOf(runc.Packages.HashAmd64)
		}
		if arch == architectures.ArchitectureArm64 && runc.Packages.UrlArm64 != nil && runc.Packages.HashArm64 != nil {
			canonicalURL = fi.ValueOf(runc.Packages.UrlArm64)
			knownHash = fi.ValueOf(runc.Packages.HashArm64)
		}
	}

	if canonicalURL == "" {
		version := fi.ValueOf(runc.Version)
		if version == "" {
			return nil, fmt.Errorf("unable to find runc version")
		}
		u, err := findRuncVersionUrl(arch, version)
		if err != nil {
			return nil, err
		}
		canonicalURL = u
	}

	return buildFileAsset(assetBuilder, canonicalURL, knownHash)
}

func findRuncVersionUrl(arch architectures.Architecture, version string) (string, error) {
	sv, err := semver.ParseTolerant(version)
	if err != nil {
		return "", fmt.Errorf("unable to parse version string: %q", version)
	}
	if sv.LT(semver.MustParse("1.1.0")) {
		return "", fmt.Errorf("unsupported runc version: %q", version)

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Set containerd.runc.version in the cluster spec (e.g. 1.1.4)
  2. Provide containerd.runc.packages.urlAmd64/hashAmd64 and urlArm64/hashArm64 for the target architecture
  3. Verify the instance group's architecture matches the packages URLs that are configured
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at pkg/nodemodel/wellknownassets/runc.go:63 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/3f157a659d4daf45. Report an issue: GitHub.