Merge pull request #17482 from hakman/fis-cloud-provider

Fix `--cloud-provider` flag for K8s 1.31+
This commit is contained in:
Kubernetes Prow Robot 2025-07-10 04:23:29 -07:00 committed by GitHub
commit 1fa7b705f4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 52 additions and 49 deletions

View File

@ -98,28 +98,32 @@ func (b *KubeAPIServerOptionsBuilder) BuildOptions(cluster *kops.Cluster) error
c.Image = image
if b.controlPlaneKubernetesVersion.IsLT("1.33") {
switch cluster.GetCloudProvider() {
case kops.CloudProviderAWS:
c.CloudProvider = "aws"
case kops.CloudProviderGCE:
c.CloudProvider = "gce"
case kops.CloudProviderDO:
c.CloudProvider = "external"
case kops.CloudProviderHetzner:
c.CloudProvider = "external"
case kops.CloudProviderOpenstack:
c.CloudProvider = "openstack"
case kops.CloudProviderAzure:
c.CloudProvider = "azure"
case kops.CloudProviderScaleway:
c.CloudProvider = "external"
case kops.CloudProviderMetal:
c.CloudProvider = "external"
default:
return fmt.Errorf("unknown cloudprovider %q", cluster.GetCloudProvider())
}
if b.controlPlaneKubernetesVersion.IsLT("1.31") {
switch cluster.GetCloudProvider() {
case kops.CloudProviderAWS:
c.CloudProvider = "aws"
case kops.CloudProviderGCE:
c.CloudProvider = "gce"
case kops.CloudProviderDO:
c.CloudProvider = "external"
case kops.CloudProviderHetzner:
c.CloudProvider = "external"
case kops.CloudProviderOpenstack:
c.CloudProvider = "openstack"
case kops.CloudProviderAzure:
c.CloudProvider = "azure"
case kops.CloudProviderScaleway:
c.CloudProvider = "external"
case kops.CloudProviderMetal:
c.CloudProvider = "external"
default:
return fmt.Errorf("unknown cloudprovider %q", cluster.GetCloudProvider())
}
if clusterSpec.ExternalCloudControllerManager != nil {
if clusterSpec.ExternalCloudControllerManager != nil {
c.CloudProvider = "external"
}
} else {
c.CloudProvider = "external"
}
}

View File

@ -120,21 +120,40 @@ func (b *KubeletOptionsBuilder) configureKubelet(cluster *kops.Cluster, kubelet
const kubeconfigPath = "/var/lib/kubelet/kubeconfig"
kubelet.KubeconfigPath = kubeconfigPath
cloudProvider := cluster.GetCloudProvider()
kubelet.CgroupRoot = "/"
cloudProvider := cluster.GetCloudProvider()
klog.V(1).Infof("Cloud Provider: %s", cloudProvider)
if cloudProvider == kops.CloudProviderAWS {
kubelet.CloudProvider = "aws"
}
if cloudProvider != kops.CloudProviderMetal {
if b.controlPlaneKubernetesVersion.IsLT("1.31") {
switch cloudProvider {
case kops.CloudProviderAWS:
kubelet.CloudProvider = "aws"
case kops.CloudProviderGCE:
kubelet.CloudProvider = "gce"
case kops.CloudProviderDO:
kubelet.CloudProvider = "external"
case kops.CloudProviderHetzner:
kubelet.CloudProvider = "external"
case kops.CloudProviderOpenstack:
kubelet.CloudProvider = "openstack"
case kops.CloudProviderAzure:
kubelet.CloudProvider = "azure"
case kops.CloudProviderScaleway:
kubelet.CloudProvider = "external"
default:
kubelet.CloudProvider = "external"
}
if cloudProvider == kops.CloudProviderDO {
kubelet.CloudProvider = "external"
if cluster.Spec.ExternalCloudControllerManager != nil {
kubelet.CloudProvider = "external"
}
} else {
kubelet.CloudProvider = "external"
}
}
if cloudProvider == kops.CloudProviderGCE {
kubelet.CloudProvider = "gce"
kubelet.HairpinMode = "promiscuous-bridge"
if cluster.Spec.CloudConfig == nil {
@ -144,26 +163,6 @@ func (b *KubeletOptionsBuilder) configureKubelet(cluster *kops.Cluster, kubelet
cluster.Spec.CloudProvider.GCE.NodeTags = fi.PtrTo(gce.TagForRole(b.ClusterName, kops.InstanceGroupRoleNode))
}
if cloudProvider == kops.CloudProviderHetzner {
kubelet.CloudProvider = "external"
}
if cloudProvider == kops.CloudProviderOpenstack {
kubelet.CloudProvider = "openstack"
}
if cloudProvider == kops.CloudProviderAzure {
kubelet.CloudProvider = "azure"
}
if cloudProvider == kops.CloudProviderScaleway {
kubelet.CloudProvider = "external"
}
if cluster.Spec.ExternalCloudControllerManager != nil {
kubelet.CloudProvider = "external"
}
// Prevent image GC from pruning the pause image
// https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2040-kubelet-cri#pinned-images
image := "registry.k8s.io/pause:3.9"