kubernetes/kops · error
could not find utility subnet in zone: %q
Error message
could not find utility subnet in zone: %q
What it means
No subnet with type Utility exists in the requested availability zone in the cluster spec, so kOps cannot link utility/ELB resources into that zone; the input at fault is the spec's subnet list, not the zone itself.
Source
Thrown at pkg/model/awsmodel/context.go:74
}
return b.LinkToSubnet(matches[0]), nil
}
func (b *AWSModelContext) LinkToUtilitySubnetInZone(zoneName string) (*awstasks.Subnet, error) {
var matches []*kops.ClusterSubnetSpec
for i := range b.Cluster.Spec.Networking.Subnets {
s := &b.Cluster.Spec.Networking.Subnets[i]
if s.Zone != zoneName {
continue
}
if s.Type != kops.SubnetTypeUtility {
continue
}
matches = append(matches, s)
}
if len(matches) == 0 {
return nil, fmt.Errorf("could not find utility subnet in zone: %q", zoneName)
}
if len(matches) > 1 {
// TODO: Support this
return nil, fmt.Errorf("found multiple utility subnets in zone: %q", zoneName)
}
return b.LinkToSubnet(matches[0]), nil
}
func (b *AWSModelContext) LinkToPrivateSubnetsInZone(zoneName string) ([]*awstasks.Subnet, error) {
var matches []*kops.ClusterSubnetSpec
for i := range b.Cluster.Spec.Networking.Subnets {
s := &b.Cluster.Spec.Networking.Subnets[i]
if s.Zone != zoneName {
continue
}
if s.Type != kops.SubnetTypePrivate {
continue
}View on GitHub (pinned to 4c8573c808)
Solutions
- Add a utility subnet for the quoted zone via kops edit cluster
- Review the spec's subnet entries and their type/zone pairing
- Re-run kops update after fixing the spec
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/model/awsmodel/context.go:74 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/72f58d69a7f03379.
Report an issue: GitHub.