kubernetes/kops · error
on Azure, subnets must include Regions
Error message
on Azure, subnets must include Regions
What it means
A configuration validation in BuildCloud for Azure clusters: no subnet in spec.networking.subnets defines a Region, so kOps cannot determine the Azure region for the cloud client. As with GCE, on Azure the region is inferred from subnet definitions; all-empty Regions make cluster construction impossible.
Source
Thrown at upup/pkg/fi/cloudup/utils.go:160
var zoneNames []string
for _, subnet := range cluster.Spec.Networking.Subnets {
if !fi.ArrayContains(zoneNames, subnet.Zone) {
zoneNames = append(zoneNames, subnet.Zone)
}
}
osc.UseZones(zoneNames)
cloud = osc
}
case kops.CloudProviderAzure:
{
for _, subnet := range cluster.Spec.Networking.Subnets {
if subnet.Region != "" {
region = subnet.Region
}
}
if region == "" {
return nil, fmt.Errorf("on Azure, subnets must include Regions")
}
cloudTags := map[string]string{azure.TagClusterName: cluster.ObjectMeta.Name}
for k, v := range cluster.Spec.CloudLabels {
cloudTags[k] = v
}
subscriptionID := cluster.Spec.CloudProvider.Azure.SubscriptionID
resourceGroupName := cluster.AzureResourceGroupName()
azureCloud, err := azure.NewAzureCloud(subscriptionID, resourceGroupName, region, cloudTags)
if err != nil {
return nil, err
}
cloud = azureCloud
}
case kops.CloudProviderScaleway:
{View on GitHub (pinned to 4c8573c808)
Solutions
- Set region on at least one subnet in spec.networking.subnets to a valid Azure region (e.g. westeurope)
- Use kops edit cluster to fix the spec, then re-run
- When generating clusters programmatically, populate subnet regions from the target Azure location
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/utils.go:160 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/20a83f9e0a07ca88.
Report an issue: GitHub.