@@ -32,7 +32,9 @@ import (
3232 "github.com/pkg/errors"
3333 "github.com/spf13/viper"
3434 "golang.org/x/sync/errgroup"
35+ meta "k8s.io/apimachinery/pkg/apis/meta/v1"
3536 "k8s.io/klog/v2"
37+ kconst "k8s.io/kubernetes/cmd/kubeadm/app/constants"
3638 cmdcfg "k8s.io/minikube/cmd/minikube/cmd/config"
3739 "k8s.io/minikube/pkg/addons"
3840 "k8s.io/minikube/pkg/drivers/kic/oci"
@@ -123,6 +125,11 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
123125 if err := kubeconfig .Update (kcs ); err != nil {
124126 return nil , errors .Wrap (err , "Failed kubeconfig update" )
125127 }
128+
129+ // scale down CoreDNS from default 2 to 1 replica
130+ if err := kapi .ScaleDeployment (starter .Cfg .Name , meta .NamespaceSystem , kconst .CoreDNSDeploymentName , 1 ); err != nil {
131+ klog .Errorf ("Unable to scale down deployment %q in namespace %q to 1 replica: %v" , kconst .CoreDNSDeploymentName , meta .NamespaceSystem , err )
132+ }
126133 } else {
127134 bs , err = cluster .Bootstrapper (starter .MachineAPI , viper .GetString (cmdcfg .Bootstrapper ), * starter .Cfg , starter .Runner )
128135 if err != nil {
@@ -161,12 +168,6 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
161168 go addons .Start (& wg , starter .Cfg , starter .ExistingAddons , config .AddonList )
162169 }
163170
164- wg .Add (1 )
165- go func () {
166- rescaleCoreDNS (starter .Cfg , starter .Runner )
167- wg .Done ()
168- }()
169-
170171 if apiServer {
171172 // special ops for none , like change minikube directory.
172173 // multinode super doesn't work on the none driver
@@ -620,15 +621,3 @@ func prepareNone() {
620621 exit .Message (reason .HostHomeChown , "Failed to change permissions for {{.minikube_dir_path}}: {{.error}}" , out.V {"minikube_dir_path" : localpath .MiniPath (), "error" : err })
621622 }
622623}
623-
624- // rescaleCoreDNS attempts to reduce coredns replicas from 2 to 1 to improve CPU overhead
625- // no worries if this doesn't work
626- func rescaleCoreDNS (cc * config.ClusterConfig , runner command.Runner ) {
627- kubectl := kapi .KubectlBinaryPath (cc .KubernetesConfig .KubernetesVersion )
628- cmd := exec .Command ("sudo" , "KUBECONFIG=/var/lib/minikube/kubeconfig" , kubectl , "scale" , "deployment" , "--replicas=1" , "coredns" , "-n=kube-system" )
629- if _ , err := runner .RunCmd (cmd ); err != nil {
630- klog .Warningf ("unable to scale coredns replicas to 1: %v" , err )
631- } else {
632- klog .Infof ("successfully scaled coredns replicas to 1" )
633- }
634- }
0 commit comments