Skip to content

Commit c0b2f34

Browse files
committed
clean up cloud provider code because cloud provider only supports empty or external and cloud is nil
Signed-off-by: carlory <baofa.fan@daocloud.io>
1 parent 32b1819 commit c0b2f34

File tree

13 files changed

+67
-1307
lines changed

13 files changed

+67
-1307
lines changed

cmd/kubelet/app/options/options.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,14 +290,14 @@ func (f *KubeletFlags) AddFlags(mainfs *pflag.FlagSet) {
290290
"On success, a kubeconfig file referencing the generated client certificate and key is written to the path specified by --kubeconfig. "+
291291
"The client certificate and key file will be stored in the directory pointed by --cert-dir.")
292292

293-
fs.StringVar(&f.HostnameOverride, "hostname-override", f.HostnameOverride, "If non-empty, will use this string as identification instead of the actual hostname. If --cloud-provider is set, the cloud provider determines the name of the node (consult cloud provider documentation to determine if and how the hostname is used).")
293+
fs.StringVar(&f.HostnameOverride, "hostname-override", f.HostnameOverride, "If non-empty, will use this string as identification instead of the actual hostname.")
294294

295295
fs.StringVar(&f.NodeIP, "node-ip", f.NodeIP, "IP address (or comma-separated dual-stack IP addresses) of the node. If unset, kubelet will use the node's default IPv4 address, if any, or its default IPv6 address if it has no IPv4 addresses. You can pass '::' to make it prefer the default IPv6 address rather than the default IPv4 address. If cloud-provider is set to external, this flag will help to bootstrap the node with the corresponding IP.")
296296

297297
fs.StringVar(&f.CertDirectory, "cert-dir", f.CertDirectory, "The directory where the TLS certs are located. "+
298298
"If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.")
299299

300-
fs.StringVar(&f.CloudProvider, "cloud-provider", f.CloudProvider, "The provider for cloud services. Set to empty string for running with no cloud provider. Set to 'external' for running with an external cloud provider. If set, the cloud provider determines the name of the node (consult cloud provider documentation to determine if and how the hostname is used).")
300+
fs.StringVar(&f.CloudProvider, "cloud-provider", f.CloudProvider, "The provider for cloud services. Set to empty string for running with no cloud provider. Set to 'external' for running with an external cloud provider.")
301301

302302
fs.StringVar(&f.RootDirectory, "root-dir", f.RootDirectory, "Directory path for managing kubelet files (volume mounts,etc).")
303303
fs.BoolVar(&f.SeccompDefault, "seccomp-default", f.SeccompDefault, "Enable the use of `RuntimeDefault` as the default seccomp profile for all workloads.")
@@ -320,8 +320,6 @@ func (f *KubeletFlags) AddFlags(mainfs *pflag.FlagSet) {
320320
fs.MarkDeprecated("register-schedulable", "will be removed in a future version")
321321
fs.StringVar(&f.ExperimentalMounterPath, "experimental-mounter-path", f.ExperimentalMounterPath, "[Experimental] Path of mounter binary. Leave empty to use the default mount.")
322322
fs.MarkDeprecated("experimental-mounter-path", "will be removed in 1.25 or later. in favor of using CSI.")
323-
fs.StringVar(&f.CloudConfigFile, "cloud-config", f.CloudConfigFile, "The path to the cloud provider configuration file. Empty string for no configuration file.")
324-
fs.MarkDeprecated("cloud-config", "will be removed in 1.25 or later, in favor of removing cloud provider code from Kubelet.")
325323
fs.BoolVar(&f.ExperimentalNodeAllocatableIgnoreEvictionThreshold, "experimental-allocatable-ignore-eviction", f.ExperimentalNodeAllocatableIgnoreEvictionThreshold, "When set to 'true', Hard Eviction Thresholds will be ignored while calculating Node Allocatable. See https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ for more details. [default=false]")
326324
fs.MarkDeprecated("experimental-allocatable-ignore-eviction", "will be removed in 1.25 or later.")
327325
}

cmd/kubelet/app/server.go

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ import (
7575
"k8s.io/client-go/util/certificate"
7676
"k8s.io/client-go/util/connrotation"
7777
"k8s.io/client-go/util/keyutil"
78-
cloudprovider "k8s.io/cloud-provider"
7978
cliflag "k8s.io/component-base/cli/flag"
8079
"k8s.io/component-base/configz"
8180
"k8s.io/component-base/featuregate"
@@ -505,7 +504,6 @@ func UnsecuredDependencies(s *options.KubeletServer, featureGate featuregate.Fea
505504
return &kubelet.Dependencies{
506505
Auth: nil, // default does not enforce auth[nz]
507506
CAdvisorInterface: nil, // cadvisor.New launches background processes (bg http.ListenAndServe, and some bg cleaners), not set here
508-
Cloud: nil, // cloud provider might start background processes
509507
ContainerManager: nil,
510508
KubeClient: nil,
511509
HeartbeatClient: nil,
@@ -661,22 +659,11 @@ func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Depend
661659
}
662660
}
663661

664-
if kubeDeps.Cloud == nil {
665-
if !cloudprovider.IsExternal(s.CloudProvider) && len(s.CloudProvider) != 0 {
666-
// internal cloud provider loops are disabled
667-
cloudprovider.DisableWarningForProvider(s.CloudProvider)
668-
return cloudprovider.ErrorForDisabledProvider(s.CloudProvider)
669-
}
670-
}
671-
672662
hostName, err := nodeutil.GetHostname(s.HostnameOverride)
673663
if err != nil {
674664
return err
675665
}
676-
nodeName, err := getNodeName(kubeDeps.Cloud, hostName)
677-
if err != nil {
678-
return err
679-
}
666+
nodeName := types.NodeName(hostName)
680667

681668
// if in standalone mode, indicate as much by setting all clients to nil
682669
switch {
@@ -1112,28 +1099,6 @@ func kubeClientConfigOverrides(s *options.KubeletServer, clientConfig *restclien
11121099
clientConfig.Burst = int(s.KubeAPIBurst)
11131100
}
11141101

1115-
// getNodeName returns the node name according to the cloud provider
1116-
// if cloud provider is specified. Otherwise, returns the hostname of the node.
1117-
func getNodeName(cloud cloudprovider.Interface, hostname string) (types.NodeName, error) {
1118-
if cloud == nil {
1119-
return types.NodeName(hostname), nil
1120-
}
1121-
1122-
instances, ok := cloud.Instances()
1123-
if !ok {
1124-
return "", fmt.Errorf("failed to get instances from cloud provider")
1125-
}
1126-
1127-
nodeName, err := instances.CurrentNodeName(context.TODO(), hostname)
1128-
if err != nil {
1129-
return "", fmt.Errorf("error fetching current node name from cloud provider: %w", err)
1130-
}
1131-
1132-
klog.V(2).InfoS("Cloud provider determined current node", "nodeName", klog.KRef("", string(nodeName)))
1133-
1134-
return nodeName, nil
1135-
}
1136-
11371102
// InitializeTLS checks for a configured TLSCertFile and TLSPrivateKeyFile: if unspecified a new self-signed
11381103
// certificate and key file are generated. Returns a configured server.TLSOptions object.
11391104
func InitializeTLS(kf *options.KubeletFlags, kc *kubeletconfiginternal.KubeletConfiguration) (*server.TLSOptions, error) {
@@ -1244,12 +1209,7 @@ func RunKubelet(ctx context.Context, kubeServer *options.KubeletServer, kubeDeps
12441209
if err != nil {
12451210
return err
12461211
}
1247-
// Query the cloud provider for our node name, default to hostname if kubeDeps.Cloud == nil
1248-
nodeName, err := getNodeName(kubeDeps.Cloud, hostname)
1249-
if err != nil {
1250-
return err
1251-
}
1252-
hostnameOverridden := len(kubeServer.HostnameOverride) > 0
1212+
nodeName := types.NodeName(hostname)
12531213
// Setup event recorder if required.
12541214
makeEventRecorder(ctx, kubeDeps, nodeName)
12551215

@@ -1275,7 +1235,6 @@ func RunKubelet(ctx context.Context, kubeServer *options.KubeletServer, kubeDeps
12751235
k, err := createAndInitKubelet(kubeServer,
12761236
kubeDeps,
12771237
hostname,
1278-
hostnameOverridden,
12791238
nodeName,
12801239
nodeIPs)
12811240
if err != nil {
@@ -1316,7 +1275,6 @@ func startKubelet(k kubelet.Bootstrap, podCfg *config.PodConfig, kubeCfg *kubele
13161275
func createAndInitKubelet(kubeServer *options.KubeletServer,
13171276
kubeDeps *kubelet.Dependencies,
13181277
hostname string,
1319-
hostnameOverridden bool,
13201278
nodeName types.NodeName,
13211279
nodeIPs []net.IP) (k kubelet.Bootstrap, err error) {
13221280
// TODO: block until all sources have delivered at least one update to the channel, or break the sync loop
@@ -1326,7 +1284,6 @@ func createAndInitKubelet(kubeServer *options.KubeletServer,
13261284
kubeDeps,
13271285
&kubeServer.ContainerRuntimeOptions,
13281286
hostname,
1329-
hostnameOverridden,
13301287
nodeName,
13311288
nodeIPs,
13321289
kubeServer.ProviderID,

pkg/kubelet/cloudresource/cloud_request_manager.go

Lines changed: 0 additions & 135 deletions
This file was deleted.

0 commit comments

Comments
 (0)