mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-19 08:40:42 +00:00
Merge pull request #97029 from andrewsykim/routes-controller-allocate-node-cidr-check
cloud-controller-manager: routes controller should not depend on --allocate-node-cidrs
This commit is contained in:
commit
74a7fc46c3
@ -99,15 +99,15 @@ func startServiceController(ctx *config.CompletedConfig, cloud cloudprovider.Int
|
||||
}
|
||||
|
||||
func startRouteController(ctx *config.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
|
||||
if !ctx.ComponentConfig.KubeCloudShared.AllocateNodeCIDRs || !ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes {
|
||||
klog.Infof("Will not configure cloud provider routes for allocate-node-cidrs: %v, configure-cloud-routes: %v.", ctx.ComponentConfig.KubeCloudShared.AllocateNodeCIDRs, ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
|
||||
if !ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes {
|
||||
klog.Infof("Will not configure cloud provider routes, --configure-cloud-routes: %v", ctx.ComponentConfig.KubeCloudShared.ConfigureCloudRoutes)
|
||||
return nil, false, nil
|
||||
}
|
||||
|
||||
// If CIDRs should be allocated for pods and set on the CloudProvider, then start the route controller
|
||||
routes, ok := cloud.Routes()
|
||||
if !ok {
|
||||
klog.Warning("configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
||||
klog.Warning("--configure-cloud-routes is set, but cloud provider does not support routes. Will not configure cloud provider routes.")
|
||||
return nil, false, nil
|
||||
}
|
||||
|
||||
|
@ -56,6 +56,12 @@ var _ cloudprovider.Clusters = (*Cloud)(nil)
|
||||
|
||||
// Cloud is a test-double implementation of Interface, LoadBalancer, Instances, and Routes. It is useful for testing.
|
||||
type Cloud struct {
|
||||
DisableInstances bool
|
||||
DisableRoutes bool
|
||||
DisableLoadBalancers bool
|
||||
DisableZones bool
|
||||
DisableClusters bool
|
||||
|
||||
Exists bool
|
||||
Err error
|
||||
|
||||
@ -126,7 +132,7 @@ func (f *Cloud) Master(ctx context.Context, name string) (string, error) {
|
||||
|
||||
// Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
|
||||
func (f *Cloud) Clusters() (cloudprovider.Clusters, bool) {
|
||||
return f, true
|
||||
return f, !f.DisableClusters
|
||||
}
|
||||
|
||||
// ProviderName returns the cloud provider ID.
|
||||
@ -145,14 +151,14 @@ func (f *Cloud) HasClusterID() bool {
|
||||
// LoadBalancer returns a fake implementation of LoadBalancer.
|
||||
// Actually it just returns f itself.
|
||||
func (f *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
||||
return f, true
|
||||
return f, !f.DisableLoadBalancers
|
||||
}
|
||||
|
||||
// Instances returns a fake implementation of Instances.
|
||||
//
|
||||
// Actually it just returns f itself.
|
||||
func (f *Cloud) Instances() (cloudprovider.Instances, bool) {
|
||||
return f, true
|
||||
return f, !f.DisableInstances
|
||||
}
|
||||
|
||||
// InstancesV2 returns a fake implementation of InstancesV2.
|
||||
@ -167,12 +173,12 @@ func (f *Cloud) InstancesV2() (cloudprovider.InstancesV2, bool) {
|
||||
|
||||
// Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.
|
||||
func (f *Cloud) Zones() (cloudprovider.Zones, bool) {
|
||||
return f, true
|
||||
return f, !f.DisableZones
|
||||
}
|
||||
|
||||
// Routes returns a routes interface along with whether the interface is supported.
|
||||
func (f *Cloud) Routes() (cloudprovider.Routes, bool) {
|
||||
return f, true
|
||||
return f, !f.DisableRoutes
|
||||
}
|
||||
|
||||
// GetLoadBalancer is a stub implementation of LoadBalancer.GetLoadBalancer.
|
||||
|
@ -327,5 +327,7 @@ func intPtr(x int) *int {
|
||||
}
|
||||
|
||||
func fakeCloudProviderFactory(io.Reader) (cloudprovider.Interface, error) {
|
||||
return &fake.Cloud{}, nil
|
||||
return &fake.Cloud{
|
||||
DisableRoutes: true, // disable routes for server tests, otherwise --cluster-cidr is required
|
||||
}, nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user