Reduce coredns replicas from 2 to 1
This is an easy way to improve overhead, and users can always scale this back up if they need to.pull/8552/head
parent
abca4d0652
commit
6d3a0c4eca
|
@ -32,7 +32,7 @@ func kubectlCommand(cc *config.ClusterConfig, files []string, enable bool) *exec
|
|||
v = cc.KubernetesConfig.KubernetesVersion
|
||||
}
|
||||
|
||||
kubectlBinary := kubectlBinaryPath(v)
|
||||
kubectlBinary := KubectlBinaryPath(v)
|
||||
|
||||
kubectlAction := "apply"
|
||||
if !enable {
|
||||
|
@ -47,6 +47,7 @@ func kubectlCommand(cc *config.ClusterConfig, files []string, enable bool) *exec
|
|||
return exec.Command("sudo", args...)
|
||||
}
|
||||
|
||||
func kubectlBinaryPath(version string) string {
|
||||
// KubectlBinaryPath returns the path to kubectl on the node
|
||||
func KubectlBinaryPath(version string) string {
|
||||
return path.Join(vmpath.GuestPersistentDir, "binaries", version, "kubectl")
|
||||
}
|
||||
|
|
|
@ -146,6 +146,12 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
|
|||
go addons.Start(&wg, starter.Cfg, starter.ExistingAddons, config.AddonList)
|
||||
}
|
||||
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
rescaleCoreDNS(starter.Cfg, starter.Runner)
|
||||
wg.Done()
|
||||
}()
|
||||
|
||||
if apiServer {
|
||||
// special ops for none , like change minikube directory.
|
||||
// multinode super doesn't work on the none driver
|
||||
|
@ -507,3 +513,15 @@ func prepareNone() {
|
|||
exit.WithCodeT(exit.Permissions, "Failed to change permissions for {{.minikube_dir_path}}: {{.error}}", out.V{"minikube_dir_path": localpath.MiniPath(), "error": err})
|
||||
}
|
||||
}
|
||||
|
||||
// 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)
|
||||
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)
|
||||
} else {
|
||||
glog.Infof("successfully scaled coredns replicas to 1")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue