kubernetes/kops · error
unable to find containerd config
Error message
unable to find containerd config
What it means
FindRuncAsset requires containerd settings to determine the runc version, but the instance group's raw cluster spec has containerd == nil (containerd not configured). The guard fires before any URL is built; the input at fault is the missing containerd configuration.
Source
Thrown at pkg/nodemodel/wellknownassets/runc.go:38
"fmt"
"github.com/blang/semver/v4"
"k8s.io/kops/pkg/apis/kops/model"
"k8s.io/kops/pkg/assets"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/util/pkg/architectures"
)
const (
runcVersionUrlAmd64 = "https://github.com/opencontainers/runc/releases/download/v%s/runc.amd64"
runcVersionUrlArm64 = "https://github.com/opencontainers/runc/releases/download/v%s/runc.arm64"
)
func FindRuncAsset(ig model.InstanceGroup, assetBuilder *assets.AssetBuilder, arch architectures.Architecture) (*assets.FileAsset, error) {
containerd := ig.RawClusterSpec().Containerd
if containerd == nil {
return nil, fmt.Errorf("unable to find containerd config")
}
if containerd.Runc == nil {
return nil, fmt.Errorf("unable to find runc config")
}
runc := containerd.Runc
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)View on GitHub (pinned to 4c8573c808)
Solutions
- Enable containerd in the cluster spec (spec.containerd or kubelet/containerRuntime settings)
- Configure the containerd block with the required version fields
- Re-run `kops update cluster` after fixing the spec
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/nodemodel/wellknownassets/runc.go:38 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/dd2870061d5c1d23.
Report an issue: GitHub.