From 99d83fac3743b2112033d3be546f61deb6186128 Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Mon, 19 Dec 2022 20:57:21 -0500 Subject: [PATCH 1/2] kube-controller-manager: don't run cloud IPAM controller when cloud provider is not enabled Signed-off-by: Andrew Sy Kim --- cmd/kube-controller-manager/app/core.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/kube-controller-manager/app/core.go b/cmd/kube-controller-manager/app/core.go index cdcbd854b67..a28dba9dfa6 100644 --- a/cmd/kube-controller-manager/app/core.go +++ b/cmd/kube-controller-manager/app/core.go @@ -105,6 +105,11 @@ func startNodeIpamController(ctx context.Context, controllerContext ControllerCo return nil, false, nil } + // Cannot run cloud ipam controller if cloud provider is nil (--cloud-provider not set or set to 'external') + if controllerContext.Cloud == nil && controllerContext.ComponentConfig.KubeCloudShared.CIDRAllocatorType == string(ipam.CloudAllocatorType) { + return nil, false, errors.New("--cidr-allocator-type is set to 'CloudAllocator' but cloud provider is not configured") + } + clusterCIDRs, err := validateCIDRs(controllerContext.ComponentConfig.KubeCloudShared.ClusterCIDR) if err != nil { return nil, false, err From 0a4f582c8b73ceb8bf34bb0396eb8ac2305511e3 Mon Sep 17 00:00:00 2001 From: Andrew Sy Kim Date: Mon, 19 Dec 2022 21:01:53 -0500 Subject: [PATCH 2/2] cloud-controller-manager: don't run cloud IPAM controller when cloud provider is not enabled Signed-off-by: Andrew Sy Kim --- cmd/cloud-controller-manager/nodeipamcontroller.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/cloud-controller-manager/nodeipamcontroller.go b/cmd/cloud-controller-manager/nodeipamcontroller.go index bcd6211342f..49b5996839a 100644 --- a/cmd/cloud-controller-manager/nodeipamcontroller.go +++ b/cmd/cloud-controller-manager/nodeipamcontroller.go @@ -75,6 +75,11 @@ func startNodeIpamController(initContext app.ControllerInitContext, ccmConfig *c return nil, false, nil } + // Cannot run cloud ipam controller if cloud provider is nil (--cloud-provider not set or set to 'external') + if cloud == nil && ccmConfig.ComponentConfig.KubeCloudShared.CIDRAllocatorType == string(ipam.CloudAllocatorType) { + return nil, false, errors.New("--cidr-allocator-type is set to 'CloudAllocator' but cloud provider is not configured") + } + // failure: bad cidrs in config clusterCIDRs, dualStack, err := processCIDRs(ccmConfig.ComponentConfig.KubeCloudShared.ClusterCIDR) if err != nil {