diff --git a/pkg/model/components/BUILD.bazel b/pkg/model/components/BUILD.bazel index c5b01928e1..6f20886c54 100644 --- a/pkg/model/components/BUILD.bazel +++ b/pkg/model/components/BUILD.bazel @@ -21,6 +21,7 @@ go_library( "//pkg/apis/kops:go_default_library", "//pkg/apis/kops/util:go_default_library", "//pkg/assets:go_default_library", + "//pkg/featureflag:go_default_library", "//pkg/k8sversion:go_default_library", "//upup/pkg/fi:go_default_library", "//upup/pkg/fi/cloudup/gce:go_default_library", diff --git a/pkg/model/components/apiserver.go b/pkg/model/components/apiserver.go index 995bd95c44..ffecdeb3fe 100644 --- a/pkg/model/components/apiserver.go +++ b/pkg/model/components/apiserver.go @@ -22,6 +22,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/kops/pkg/apis/kops" + "k8s.io/kops/pkg/featureflag" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/loader" @@ -167,7 +168,7 @@ func (b *KubeAPIServerOptionsBuilder) BuildOptions(o interface{}) error { return fmt.Errorf("unknown cloudprovider %q", clusterSpec.CloudProvider) } - if clusterSpec.ExternalCloudControllerManager != nil { + if featureflag.EnableExternalCloudController.Enabled() && clusterSpec.ExternalCloudControllerManager != nil { c.CloudProvider = "external" } diff --git a/pkg/model/components/kubecontrollermanager.go b/pkg/model/components/kubecontrollermanager.go index b440c81c49..958caf44be 100644 --- a/pkg/model/components/kubecontrollermanager.go +++ b/pkg/model/components/kubecontrollermanager.go @@ -24,6 +24,7 @@ import ( "k8s.io/klog" "k8s.io/kops/pkg/apis/kops" "k8s.io/kops/pkg/apis/kops/util" + "k8s.io/kops/pkg/featureflag" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/cloudup/gce" "k8s.io/kops/upup/pkg/fi/loader" @@ -123,7 +124,7 @@ func (b *KubeControllerManagerOptionsBuilder) BuildOptions(o interface{}) error return fmt.Errorf("unknown cloudprovider %q", clusterSpec.CloudProvider) } - if clusterSpec.ExternalCloudControllerManager != nil { + if featureflag.EnableExternalCloudController.Enabled() && clusterSpec.ExternalCloudControllerManager != nil { kcm.CloudProvider = "external" } diff --git a/pkg/model/components/kubelet.go b/pkg/model/components/kubelet.go index abb0f1a19c..96c9853abb 100644 --- a/pkg/model/components/kubelet.go +++ b/pkg/model/components/kubelet.go @@ -21,6 +21,7 @@ import ( "k8s.io/klog" "k8s.io/kops/pkg/apis/kops" + "k8s.io/kops/pkg/featureflag" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/loader" ) @@ -215,7 +216,7 @@ func (b *KubeletOptionsBuilder) BuildOptions(o interface{}) error { clusterSpec.Kubelet.CloudProvider = "alicloud" } - if clusterSpec.ExternalCloudControllerManager != nil { + if featureflag.EnableExternalCloudController.Enabled() && clusterSpec.ExternalCloudControllerManager != nil { clusterSpec.Kubelet.CloudProvider = "external" }