Use FindExistingKubeConfig in the phases which use the --kubeconfig
Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
This commit is contained in:
		| @@ -66,7 +66,6 @@ go_library( | ||||
|         "//staging/src/k8s.io/client-go/kubernetes:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/bootstrap/token/api:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/bootstrap/token/util:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/clientcmd:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/tools/clientcmd/api:go_default_library", | ||||
|         "//staging/src/k8s.io/client-go/util/cert:go_default_library", | ||||
|         "//vendor/github.com/ghodss/yaml:go_default_library", | ||||
|   | ||||
| @@ -31,7 +31,7 @@ import ( | ||||
| 	"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" | ||||
| 	"k8s.io/kubernetes/cmd/kubeadm/app/cmd/options" | ||||
| 	cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" | ||||
| 	kubeadmconstants"k8s.io/kubernetes/cmd/kubeadm/app/constants" | ||||
| 	kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" | ||||
| 	"k8s.io/kubernetes/cmd/kubeadm/app/phases/bootstraptoken/clusterinfo" | ||||
| 	"k8s.io/kubernetes/cmd/kubeadm/app/phases/bootstraptoken/node" | ||||
| 	kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" | ||||
| @@ -99,6 +99,7 @@ func NewCmdBootstrapToken() *cobra.Command { | ||||
| 	options.AddKubeConfigFlag(cmd.PersistentFlags(), &kubeConfigFile) | ||||
|  | ||||
| 	// Add subcommands | ||||
| 	kubeConfigFile = cmdutil.FindExistingKubeConfig(kubeConfigFile) | ||||
| 	cmd.AddCommand(NewSubCmdBootstrapTokenAll(&kubeConfigFile)) | ||||
| 	cmd.AddCommand(NewSubCmdBootstrapToken(&kubeConfigFile)) | ||||
| 	cmd.AddCommand(NewSubCmdClusterInfo(&kubeConfigFile)) | ||||
|   | ||||
| @@ -208,6 +208,7 @@ func NewCmdKubeletConfigUpload() *cobra.Command { | ||||
| 			internalcfg, err := configutil.ConfigFileAndDefaultsToInternalConfig(cfgPath, cfg) | ||||
| 			kubeadmutil.CheckErr(err) | ||||
|  | ||||
| 			kubeConfigFile = cmdutil.FindExistingKubeConfig(kubeConfigFile) | ||||
| 			client, err := kubeconfigutil.ClientSetFromFile(kubeConfigFile) | ||||
| 			kubeadmutil.CheckErr(err) | ||||
|  | ||||
| @@ -310,6 +311,7 @@ func NewCmdKubeletConfigEnableDynamic() *cobra.Command { | ||||
| 			kubeletVersion, err := version.ParseSemantic(kubeletVersionStr) | ||||
| 			kubeadmutil.CheckErr(err) | ||||
|  | ||||
| 			kubeConfigFile = cmdutil.FindExistingKubeConfig(kubeConfigFile) | ||||
| 			client, err := kubeconfigutil.ClientSetFromFile(kubeConfigFile) | ||||
| 			kubeadmutil.CheckErr(err) | ||||
|  | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package upgrade | ||||
|  | ||||
| import ( | ||||
| 	"io" | ||||
| 	"path/filepath" | ||||
| 	"strings" | ||||
|  | ||||
| 	"github.com/spf13/cobra" | ||||
| @@ -47,7 +46,7 @@ type applyPlanFlags struct { | ||||
| // NewCmdUpgrade returns the cobra command for `kubeadm upgrade` | ||||
| func NewCmdUpgrade(out io.Writer) *cobra.Command { | ||||
| 	flags := &applyPlanFlags{ | ||||
| 		kubeConfigPath:            filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.AdminKubeConfigFileName), | ||||
| 		kubeConfigPath:            kubeadmconstants.GetAdminKubeConfigPath(), | ||||
| 		cfgPath:                   "", | ||||
| 		featureGatesString:        "", | ||||
| 		allowExperimentalUpgrades: false, | ||||
| @@ -63,6 +62,7 @@ func NewCmdUpgrade(out io.Writer) *cobra.Command { | ||||
| 		RunE:  cmdutil.SubCmdRunE("upgrade"), | ||||
| 	} | ||||
|  | ||||
| 	flags.kubeConfigPath = cmdutil.FindExistingKubeConfig(flags.kubeConfigPath) | ||||
| 	cmd.AddCommand(NewCmdApply(flags)) | ||||
| 	cmd.AddCommand(NewCmdPlan(flags)) | ||||
| 	cmd.AddCommand(NewCmdDiff(out)) | ||||
|   | ||||
| @@ -18,9 +18,9 @@ package util | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"path/filepath" | ||||
|  | ||||
| 	"github.com/spf13/cobra" | ||||
|  | ||||
| 	"k8s.io/client-go/tools/clientcmd" | ||||
| 	kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" | ||||
| ) | ||||
| @@ -65,12 +65,12 @@ func ValidateExactArgNumber(args []string, supportedArgs []string) error { | ||||
| func FindExistingKubeConfig(file string) string { | ||||
| 	// The user did provide a --kubeconfig flag. Respect that and threat it as an | ||||
| 	// explicit path without building a DefaultClientConfigLoadingRules object. | ||||
| 	if file != filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.AdminKubeConfigFileName) { | ||||
| 	if file != kubeadmconstants.GetAdminKubeConfigPath() { | ||||
| 		return file | ||||
| 	} | ||||
| 	// The user did not provide a --kubeconfig flag. Find a config in the standard | ||||
| 	// locations using DefaultClientConfigLoadingRules, but also consider the default config path. | ||||
| 	rules := clientcmd.NewDefaultClientConfigLoadingRules() | ||||
| 	rules.Precedence = append(rules.Precedence, filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.AdminKubeConfigFileName)) | ||||
| 	rules.Precedence = append(rules.Precedence, kubeadmconstants.GetAdminKubeConfigPath()) | ||||
| 	return rules.GetDefaultFilename() | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Xianglin Gao
					Xianglin Gao