mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	use inClusterConfig before using default config for cluster components
This commit is contained in:
		| @@ -35,7 +35,6 @@ import ( | ||||
| 	"k8s.io/kubernetes/pkg/api/unversioned" | ||||
| 	client "k8s.io/kubernetes/pkg/client/unversioned" | ||||
| 	"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" | ||||
| 	clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" | ||||
| 	"k8s.io/kubernetes/pkg/cloudprovider" | ||||
| 	"k8s.io/kubernetes/pkg/controller/daemon" | ||||
| 	"k8s.io/kubernetes/pkg/controller/deployment" | ||||
| @@ -234,15 +233,7 @@ func (s *CMServer) ResyncPeriod() time.Duration { | ||||
|  | ||||
| // Run runs the CMServer.  This should never exit. | ||||
| func (s *CMServer) Run(_ []string) error { | ||||
| 	if s.Kubeconfig == "" && s.Master == "" { | ||||
| 		glog.Warningf("Neither --kubeconfig nor --master was specified.  Using default API client.  This might not work.") | ||||
| 	} | ||||
|  | ||||
| 	// This creates a client, first loading any specified kubeconfig | ||||
| 	// file, and then overriding the Master flag, if non-empty. | ||||
| 	kubeconfig, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( | ||||
| 		&clientcmd.ClientConfigLoadingRules{ExplicitPath: s.Kubeconfig}, | ||||
| 		&clientcmd.ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: s.Master}}).ClientConfig() | ||||
| 	kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|   | ||||
| @@ -22,6 +22,7 @@ import ( | ||||
| 	"net/url" | ||||
| 	"os" | ||||
|  | ||||
| 	"github.com/golang/glog" | ||||
| 	"github.com/imdario/mergo" | ||||
|  | ||||
| 	"k8s.io/kubernetes/pkg/api" | ||||
| @@ -335,3 +336,23 @@ func (inClusterClientConfig) Possible() bool { | ||||
| 		os.Getenv("KUBERNETES_SERVICE_PORT") != "" && | ||||
| 		err == nil && !fi.IsDir() | ||||
| } | ||||
|  | ||||
| // BuildConfigFromFlags is a helper function that builds configs from a master | ||||
| // url or a kubeconfig filepath. These are passed in as command line flags for cluster | ||||
| // components. Warnings should reflect this usage. If neither masterUrl or kubeconfigPath | ||||
| // are passed in we fallback to inClusterConfig. If inClusterConfig fails, we fallback | ||||
| // to the default config. | ||||
| func BuildConfigFromFlags(masterUrl, kubeconfigPath string) (*client.Config, error) { | ||||
| 	if kubeconfigPath == "" && masterUrl == "" { | ||||
| 		glog.Warningf("Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.") | ||||
| 		kubeconfig, err := client.InClusterConfig() | ||||
| 		if err == nil { | ||||
| 			return kubeconfig, nil | ||||
| 		} | ||||
| 		glog.Warning("error creating inClusterConfig, falling back to default config: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	return NewNonInteractiveDeferredLoadingClientConfig( | ||||
| 		&ClientConfigLoadingRules{ExplicitPath: kubeconfigPath}, | ||||
| 		&ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: masterUrl}}).ClientConfig() | ||||
| } | ||||
|   | ||||
| @@ -30,7 +30,6 @@ import ( | ||||
| 	"k8s.io/kubernetes/pkg/client/record" | ||||
| 	client "k8s.io/kubernetes/pkg/client/unversioned" | ||||
| 	"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" | ||||
| 	clientcmdapi "k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api" | ||||
| 	"k8s.io/kubernetes/pkg/healthz" | ||||
| 	"k8s.io/kubernetes/pkg/master/ports" | ||||
| 	"k8s.io/kubernetes/pkg/util" | ||||
| @@ -112,15 +111,7 @@ func (s *SchedulerServer) AddFlags(fs *pflag.FlagSet) { | ||||
|  | ||||
| // Run runs the specified SchedulerServer.  This should never exit. | ||||
| func (s *SchedulerServer) Run(_ []string) error { | ||||
| 	if s.Kubeconfig == "" && s.Master == "" { | ||||
| 		glog.Warningf("Neither --kubeconfig nor --master was specified.  Using default API client.  This might not work.") | ||||
| 	} | ||||
|  | ||||
| 	// This creates a client, first loading any specified kubeconfig | ||||
| 	// file, and then overriding the Master flag, if non-empty. | ||||
| 	kubeconfig, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( | ||||
| 		&clientcmd.ClientConfigLoadingRules{ExplicitPath: s.Kubeconfig}, | ||||
| 		&clientcmd.ConfigOverrides{ClusterInfo: clientcmdapi.Cluster{Server: s.Master}}).ClientConfig() | ||||
| 	kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Mike Danese
					Mike Danese