mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
Merge pull request #10102 from mikedanese/kubeconfig-bug-fix
make clientcmd use inClusterConfig only if no other configs are available
This commit is contained in:
commit
29ffee51a8
@ -37,6 +37,8 @@ var (
|
||||
|
||||
// EnvVarCluster allows overriding the DefaultCluster using an envvar for the server name
|
||||
EnvVarCluster = clientcmdapi.Cluster{Server: os.Getenv("KUBERNETES_MASTER")}
|
||||
|
||||
DefaultClientConfig = DirectClientConfig{*clientcmdapi.NewConfig(), "", &ConfigOverrides{}, nil}
|
||||
)
|
||||
|
||||
// ClientConfig is used to make it easy to get an api server client
|
||||
|
@ -18,6 +18,7 @@ package clientcmd
|
||||
|
||||
import (
|
||||
"io"
|
||||
"reflect"
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||
clientcmdapi "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd/api"
|
||||
@ -45,11 +46,6 @@ func NewInteractiveDeferredLoadingClientConfig(loadingRules *ClientConfigLoading
|
||||
}
|
||||
|
||||
func (config DeferredLoadingClientConfig) createClientConfig() (ClientConfig, error) {
|
||||
// Are we running in a cluster? If so, use that.
|
||||
icc := inClusterClientConfig{}
|
||||
if icc.Possible() {
|
||||
return icc, nil
|
||||
}
|
||||
mergedConfig, err := config.loadingRules.Load()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -80,8 +76,18 @@ func (config DeferredLoadingClientConfig) ClientConfig() (*client.Config, error)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mergedConfig, err := mergedClientConfig.ClientConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Are we running in a cluster and were no other configs found? If so, use the in-cluster-config.
|
||||
icc := inClusterClientConfig{}
|
||||
defaultConfig, err := DefaultClientConfig.ClientConfig()
|
||||
if icc.Possible() && err == nil && reflect.DeepEqual(mergedConfig, defaultConfig) {
|
||||
return icc.ClientConfig()
|
||||
}
|
||||
|
||||
return mergedClientConfig.ClientConfig()
|
||||
return mergedConfig, nil
|
||||
}
|
||||
|
||||
// Namespace implements KubeConfig
|
||||
|
Loading…
Reference in New Issue
Block a user