diff --git a/staging/src/k8s.io/legacy-cloud-providers/gce/gce_zones.go b/staging/src/k8s.io/legacy-cloud-providers/gce/gce_zones.go index 4c5a6d0df6a..bf620eda72c 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/gce/gce_zones.go +++ b/staging/src/k8s.io/legacy-cloud-providers/gce/gce_zones.go @@ -20,6 +20,7 @@ package gce import ( "context" + "fmt" "strings" compute "google.golang.org/api/compute/v1" @@ -79,7 +80,9 @@ func (g *Cloud) ListZonesInRegion(region string) ([]*compute.Zone, error) { defer cancel() mc := newZonesMetricContext("list", region) - list, err := g.c.Zones().List(ctx, filter.Regexp("region", g.getRegionLink(region))) + // Use regex match instead of an exact regional link constructed from getRegionalLink below. + // See comments in issue kubernetes/kubernetes#87905 + list, err := g.c.Zones().List(ctx, filter.Regexp("region", fmt.Sprintf(".*/regions/%s", region))) if err != nil { return nil, mc.Observe(err) }