diff --git a/pkg/apis/kops/validation/legacy.go b/pkg/apis/kops/validation/legacy.go index ae4ddce0ee..53e5ff361c 100644 --- a/pkg/apis/kops/validation/legacy.go +++ b/pkg/apis/kops/validation/legacy.go @@ -301,7 +301,8 @@ func ValidateCluster(c *kops.Cluster, strict bool) *field.Error { case kops.CloudProviderGCE: k8sCloudProvider = "gce" case kops.CloudProviderDO: - k8sCloudProvider = "external" + // cloud provider should be blank since digitalocean uses external cloud controller + k8sCloudProvider = "" case kops.CloudProviderVSphere: k8sCloudProvider = "vsphere" case kops.CloudProviderBareMetal: diff --git a/pkg/model/components/apiserver.go b/pkg/model/components/apiserver.go index 47bb3cd1e2..586761ea33 100644 --- a/pkg/model/components/apiserver.go +++ b/pkg/model/components/apiserver.go @@ -145,7 +145,7 @@ func (b *KubeAPIServerOptionsBuilder) BuildOptions(o interface{}) error { case kops.CloudProviderGCE: c.CloudProvider = "gce" case kops.CloudProviderDO: - c.CloudProvider = "external" + // not required for digitalocean since it is managed by digitalocean-cloud-controller-manager case kops.CloudProviderVSphere: c.CloudProvider = "vsphere" case kops.CloudProviderBareMetal: diff --git a/pkg/model/components/kubecontrollermanager.go b/pkg/model/components/kubecontrollermanager.go index f78efb620a..66a3b9845e 100644 --- a/pkg/model/components/kubecontrollermanager.go +++ b/pkg/model/components/kubecontrollermanager.go @@ -105,7 +105,7 @@ func (b *KubeControllerManagerOptionsBuilder) BuildOptions(o interface{}) error kcm.ClusterName = gce.SafeClusterName(b.Context.ClusterName) case kops.CloudProviderDO: - kcm.CloudProvider = "external" + // cloud provider is specified by digitalocean-cloud-controller-manager case kops.CloudProviderVSphere: kcm.CloudProvider = "vsphere"