mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +00:00
Merge pull request #12373 from cjcullen/network
Use full URLs for GCE networks
This commit is contained in:
commit
cd3c3fe479
@ -59,7 +59,7 @@ type GCECloud struct {
|
||||
zone string
|
||||
instanceID string
|
||||
externalID string
|
||||
networkName string
|
||||
networkURL string
|
||||
|
||||
// Used for accessing the metadata server
|
||||
metadataAccess func(string) (string, error)
|
||||
@ -166,6 +166,7 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
networkURL := gceNetworkURL(projectID, networkName)
|
||||
tokenSource := google.ComputeTokenSource("")
|
||||
if config != nil {
|
||||
var cfg Config
|
||||
@ -177,7 +178,11 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
|
||||
projectID = cfg.Global.ProjectID
|
||||
}
|
||||
if cfg.Global.NetworkName != "" {
|
||||
networkName = cfg.Global.NetworkName
|
||||
if strings.Contains(cfg.Global.NetworkName, "/") {
|
||||
networkURL = cfg.Global.NetworkName
|
||||
} else {
|
||||
networkURL = gceNetworkURL(cfg.Global.ProjectID, cfg.Global.NetworkName)
|
||||
}
|
||||
}
|
||||
if cfg.Global.TokenURL != "" {
|
||||
tokenSource = newAltTokenSource(cfg.Global.TokenURL)
|
||||
@ -199,7 +204,7 @@ func newGCECloud(config io.Reader) (*GCECloud, error) {
|
||||
zone: zone,
|
||||
instanceID: instanceID,
|
||||
externalID: externalID,
|
||||
networkName: networkName,
|
||||
networkURL: networkURL,
|
||||
metadataAccess: getMetadata,
|
||||
}, nil
|
||||
}
|
||||
@ -426,7 +431,7 @@ func (gce *GCECloud) CreateTCPLoadBalancer(name, region string, externalIP net.I
|
||||
firewall := &compute.Firewall{
|
||||
Name: makeFirewallName(name),
|
||||
Description: fmt.Sprintf("KubernetesAutoGenerated_OnlyAllowTrafficForDestinationIP_%s", fwd.IPAddress),
|
||||
Network: gce.gceNetworkName(),
|
||||
Network: gce.networkURL,
|
||||
SourceRanges: []string{"0.0.0.0/0"},
|
||||
TargetTags: []string{hostTag},
|
||||
Allowed: []*compute.FirewallAllowed{
|
||||
@ -759,7 +764,7 @@ func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, err
|
||||
}
|
||||
var routes []*cloudprovider.Route
|
||||
for _, r := range res.Items {
|
||||
if path.Base(r.Network) != gce.networkName {
|
||||
if r.Network != gce.networkURL {
|
||||
continue
|
||||
}
|
||||
// Not managed if route description != "k8s-node-route"
|
||||
@ -777,8 +782,8 @@ func (gce *GCECloud) ListRoutes(clusterName string) ([]*cloudprovider.Route, err
|
||||
return routes, nil
|
||||
}
|
||||
|
||||
func (gce *GCECloud) gceNetworkName() string {
|
||||
return fmt.Sprintf("global/networks/%s", gce.networkName)
|
||||
func gceNetworkURL(project, network string) string {
|
||||
return fmt.Sprintf("https://www.googleapis.com/compute/v1/projects/%s/global/networks/%s", project, network)
|
||||
}
|
||||
|
||||
func (gce *GCECloud) CreateRoute(clusterName string, nameHint string, route *cloudprovider.Route) error {
|
||||
@ -789,7 +794,7 @@ func (gce *GCECloud) CreateRoute(clusterName string, nameHint string, route *clo
|
||||
Name: routeName,
|
||||
DestRange: route.DestinationCIDR,
|
||||
NextHopInstance: fmt.Sprintf("zones/%s/instances/%s", gce.zone, instanceName),
|
||||
Network: gce.gceNetworkName(),
|
||||
Network: gce.networkURL,
|
||||
Priority: 1000,
|
||||
Description: k8sNodeRouteTag,
|
||||
}).Do()
|
||||
|
Loading…
Reference in New Issue
Block a user