mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +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 allows overriding the DefaultCluster using an envvar for the server name
|
||||||
EnvVarCluster = clientcmdapi.Cluster{Server: os.Getenv("KUBERNETES_MASTER")}
|
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
|
// ClientConfig is used to make it easy to get an api server client
|
||||||
|
@ -18,6 +18,7 @@ package clientcmd
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||||
clientcmdapi "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd/api"
|
clientcmdapi "github.com/GoogleCloudPlatform/kubernetes/pkg/client/clientcmd/api"
|
||||||
@ -45,11 +46,6 @@ func NewInteractiveDeferredLoadingClientConfig(loadingRules *ClientConfigLoading
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (config DeferredLoadingClientConfig) createClientConfig() (ClientConfig, error) {
|
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()
|
mergedConfig, err := config.loadingRules.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -80,8 +76,18 @@ func (config DeferredLoadingClientConfig) ClientConfig() (*client.Config, error)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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
|
// Namespace implements KubeConfig
|
||||||
|
Loading…
Reference in New Issue
Block a user