diff --git a/pkg/addons/kubectl.go b/pkg/addons/kubectl.go index 0b2392e7aa..6f4003ab12 100644 --- a/pkg/addons/kubectl.go +++ b/pkg/addons/kubectl.go @@ -21,6 +21,7 @@ import ( "os/exec" "path" + "k8s.io/minikube/pkg/kapi" "k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/constants" "k8s.io/minikube/pkg/minikube/vmpath" @@ -32,7 +33,7 @@ func kubectlCommand(cc *config.ClusterConfig, files []string, enable bool) *exec v = cc.KubernetesConfig.KubernetesVersion } - kubectlBinary := KubectlBinaryPath(v) + kubectlBinary := kapi.KubectlBinaryPath(v) kubectlAction := "apply" if !enable { @@ -46,8 +47,3 @@ func kubectlCommand(cc *config.ClusterConfig, files []string, enable bool) *exec return exec.Command("sudo", args...) } - -// KubectlBinaryPath returns the path to kubectl on the node -func KubectlBinaryPath(version string) string { - return path.Join(vmpath.GuestPersistentDir, "binaries", version, "kubectl") -} diff --git a/pkg/kapi/kapi.go b/pkg/kapi/kapi.go index 4048cb7bbf..4f1662b706 100644 --- a/pkg/kapi/kapi.go +++ b/pkg/kapi/kapi.go @@ -19,6 +19,7 @@ package kapi import ( "context" "fmt" + "path" "time" "github.com/golang/glog" @@ -37,6 +38,7 @@ import ( watchtools "k8s.io/client-go/tools/watch" kconst "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/minikube/pkg/minikube/proxy" + "k8s.io/minikube/pkg/minikube/vmpath" ) var ( @@ -205,3 +207,8 @@ func WaitForService(c kubernetes.Interface, namespace, name string, exist bool, func IsRetryableAPIError(err error) bool { return apierr.IsTimeout(err) || apierr.IsServerTimeout(err) || apierr.IsTooManyRequests(err) || apierr.IsInternalError(err) } + +// KubectlBinaryPath returns the path to kubectl on the node +func KubectlBinaryPath(version string) string { + return path.Join(vmpath.GuestPersistentDir, "binaries", version, "kubectl") +} diff --git a/pkg/minikube/node/start.go b/pkg/minikube/node/start.go index 593c78cdcd..9c0a36d0ae 100644 --- a/pkg/minikube/node/start.go +++ b/pkg/minikube/node/start.go @@ -36,6 +36,7 @@ import ( cmdcfg "k8s.io/minikube/cmd/minikube/cmd/config" "k8s.io/minikube/pkg/addons" "k8s.io/minikube/pkg/drivers/kic/oci" + "k8s.io/minikube/pkg/kapi" "k8s.io/minikube/pkg/minikube/bootstrapper" "k8s.io/minikube/pkg/minikube/bootstrapper/images" "k8s.io/minikube/pkg/minikube/cluster" @@ -517,7 +518,7 @@ func prepareNone() { // rescaleCoreDNS attempts to reduce coredns replicas from 2 to 1 to improve CPU overhead // no worries if this doesn't work func rescaleCoreDNS(cc *config.ClusterConfig, runner command.Runner) { - kubectl := addons.KubectlBinaryPath(cc.KubernetesConfig.KubernetesVersion) + kubectl := kapi.KubectlBinaryPath(cc.KubernetesConfig.KubernetesVersion) cmd := exec.Command("sudo", "KUBECONFIG=/var/lib/minikube/kubeconfig", kubectl, "scale", "deployment", "--replicas=1", "coredns", "-n=kube-system") if _, err := runner.RunCmd(cmd); err != nil { glog.Infof("unable to scale coredns replicas to 1: %v", err)