Skip to content

Commit fa4b049

Browse files
authored
Merge pull request #5805 from priyawadhwa/speedup-apiserver
Store kubernetes clientset when waiting for apiserver
2 parents eea2348 + b9562c5 commit fa4b049

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

pkg/minikube/bootstrapper/kubeadm/kubeadm.go

+8-4
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,7 @@ func (k *Bootstrapper) waitForAPIServer(k8s config.KubernetesConfig) error {
509509
}
510510

511511
glog.Infof("Waiting for apiserver to port healthy status ...")
512+
var client *kubernetes.Clientset
512513
f := func() (bool, error) {
513514
status, err := k.GetAPIServerStatus(net.ParseIP(k8s.NodeIP), k8s.NodePort)
514515
glog.Infof("apiserver status: %s, err: %v", status, err)
@@ -520,10 +521,13 @@ func (k *Bootstrapper) waitForAPIServer(k8s config.KubernetesConfig) error {
520521
return false, nil
521522
}
522523
// Make sure apiserver pod is retrievable
523-
client, err := k.client(k8s)
524-
if err != nil {
525-
glog.Warningf("get kubernetes client: %v", err)
526-
return false, nil
524+
if client == nil {
525+
// We only want to get the clientset once, because this line takes ~1 second to complete
526+
client, err = k.client(k8s)
527+
if err != nil {
528+
glog.Warningf("get kubernetes client: %v", err)
529+
return false, nil
530+
}
527531
}
528532

529533
_, err = client.CoreV1().Pods("kube-system").Get("kube-apiserver-minikube", metav1.GetOptions{})

0 commit comments

Comments
 (0)